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.

Annunci

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». 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.

LyX: Cos’è e come si utilizza la microtipografia

Oggi parleremo di una questione puramente estetica. L’argomento è trovare il modo di far si che il testo creato in LyX, sia con LaTeX o con XeTeX, risulti «più bello».

Questo non ha un’utilità in se e infatti la maggior parte dei lettori non noteranno la differenza… il che vuol dire che saremo riusciti!

Cosa significa «microtipografía» e a cosa serve

Nell’introduzione del manuale del pacchetto microtype troviamo questa ispirata definizione (la traduzione a continuazione)

Micro-typography is the art of enhancing the appearance and readability of a document while exhibiting a minimum degree of visual obtrusion. It is concerned with what happens between or at the margins of characters, words or lines. Whereas the macro-typographical aspects of a document (i.e., its layout) are clearly visible even to the untrained eye, micro-typographical refinements should ideally not even be recognisable. That is, you may think that a document looks beautiful, but you might not be able to tell exactly why: good micro-typographic practice tries to reduce all potential irritations that might disturb a reader.

Microtipografia è l’arte di migliorare l’apparenza e la leggibilità di un testo perturbando il meno possibile la sua presentazione. È relazionato con cosa succede tra o ai bordi dei caratteri, parole o linee. Mentre che gli aspetti macrotipografici di un documento (il suo disegno) sono chiaramente visibili anche all’occhio non preparato, i miglioramenti microtipografici idealmente non dovrebbero essere riconoscibili. Cioè, lei dovrebbe pensare che un documento si vede bello, ma non dovrebbe essere capace di dire esattamente il perché: le buone pratiche microtipografiche tentano di ridurre tutte le potenziali irritazioni che potrebbero molestare il lettore.

Perfetto, l’idea è quella di modificare sottilmente il testo per far si che «si veda meglio», ma che chi lo veda non sia capace, in un primo analisi, di dire cosa è stata modificata. Ma, questo come si fa?

Bene, la prima cosa da dire risulta piuttosto forte: è incredibilmente semplice ingannare il nostro cervello. Consideriamo la seguente immagine, pressa dalla wikipedia:

Gli esagoni verdi formano una griglia completamente storta, vero? Falso: prendete un righello e lo vedrette. I piccoli punti confondono il nostro cervello il quale interpreta il patrone in forma sbagliata.

Ed è proprio questo tipo di «illusioni ottiche» quello che si presenta in un testo giustificato:

microtype-sin1

Guardate con attenzione il margine destro, non sembra «ondulato»? Proprio dove si trovano punti, virgole e trattini il testo sembra rientrare, vero? Falso ancora: il righello non mente!

Quello che succede qui è che i punti, virgole e trattini presentano «meno peso» che i caratteri precedenti e pertanto il nostro cervello interpreta l’immagine come se ci fossero «buchi» li. Guardiamo adesso questo testo:

microtype-con1

Adesso il margine destro sembra più «retto», vero? Ancora falso! Vediamo un dettaglio della seconda immagine

protrusion

Come può comprovarsi le virgole e i trattini (succede anche con i punti) «attraversano» il margine destro leggermente. In questa situazione i bordi delle linee sembrano più «pieni» e il nostro cervello interpreta il margine destro come più diritto, anche se non lo è. Il cambio è veramente minimo, ma migliora di tanto la presentazione.

Questa tecnica di microtipografia viene chiamata «protrusione». Non è l’unica, ma certamente è quella meno invasiva.

Un’altra tecnica è quella di deformare i caratteri per far si che occupino più o meno spazio orizzontale e così evitare che lo spazio tra parole sia diverso nelle diverse linee di testo. Si può modificare anche la distanza tra caratteri… infine, che le tecniche sono diverse.

Come si applica questa «microtipografia»

Caro lettore, non pensare nemmeno di tentare di avere qualcosa di simile in programmi di videoscrittura tradizionali come Writer o Word: semplicemente non è possibile. Mi dicono che Scribus permette di lavorare limitatamente con queste tecniche, ma non ho mai utilizzato questo programma e pertanto non posso commentare.

L’unica possibilità nel mondo F(L)OSS è LaTeX (e XeTeX, e LuaTeX…) con il pacchetto microtype, a cui documentazione si installa, in Linux, in

/usr/share/texmf/doc/latex/microtype/microtype.pdf

Il manuale occupa più di 240 pagine, ma non doviamo preoccuparci: in un uso normale le opzioni predefinite sono semplicemente perfette.

Per abilitare questo in LyX, in versioni fino alla 2.2.x, in Documento → Impostazioni → Preambolo LaTeX doviamo scrivere:

\usepackage{microtype}

A partire della versione 2.3 risulta sufficiente selezionare la corrispondente casella nel menu di configurazione dei font.

Tutto pronto, non c’è altro da fare. Questo funziona sia con LaTeX normale, con XeTeX o LuaTeX, anche se in questi due ultimi con alcune limitazioni: per esempio, al momento di scrivere questo articolo XeTeX offre soltanto supporto per protrusione.


Per approfondire

http://hstuart.dk/2007/11/27/microtypography/

https://en.wikipedia.org/wiki/Microtypography

Avviare LibO dalla riga di comando o da un desktop file (Linux)

LibreOffice 5.4 è l’ultima versione ad offrire il «quick-start», una piccola applicazione che si poteva far vivere nella barra delle applicazioni del nostro sistema operativo, lì vicino all’orologio, per semplificare l’avvio delle diverse componenti del programma: Nella versione 6 che sarà pronta all’inizio del anno prossimo il quick-start verrà eliminato.

Negli ultimi tempi LibO ha migliorato tantissimo la sua procedura di avvio, rendendola più agile e riducendo enormemente il tempo necessario per caricare l’applicazione, perciò il «quick-start» non è più utile, vero?

Beh… dipende. Certamente il caricare tutto il pacchetto in memoria anche quando non viene utilizzato non è proprio la migliore delle idee, ma il «quick-start» offriva anche qualche (piccolo) vantaggio come il riuscire ad avviare il programma direttamente nel gestore dei modelli.

Risulta molto semplice duplicare le funzionalità «utili» del quick-start creando alcuni accessi veloci ad applicazioni, i quali si gestiscono in sistemi Linux con i file «.desktop», ma siccome il modo di creare e gestire questi file dipende del desktop utilizzato (KDE Plasma, gnome, quel che sia) proverò a rimanere il più generico possibile. Penso che il lettore non avrà problemi all’ora di adattarsi.

Per esempio, per lanciare Writer dovremo utilizzare nel nostro .desktop file l’istruzione

libreoffice --writer %U

mentre che con

libreoffice --draw %U

s’inizierà Draw.

NOTA: Il lettore interessato in capire cosa vuol dire questo «%U» può consultare la specificazione dei file .desktop.

Fino a questo punto, niente di particolare, ma, come si fa a iniziare LibO con la lista dei modelli? Si usa

libreoffice .uno:NewDoc

mentre che se si vuole avere direttamente il menù per aprire un file particolare si può utilizzare

libreoffice .uno:Open

Creazione di un file .desktop in Plasma per lanciare LibO con la lista dei modelli

Le istruzioni «.uno:» sono parte dell’API di programmazione di LibO. Se volete sapere di più sul argomento… chiedete a qualcun altro, che questo delle macro non fa per me 😛

Creando dunque qualche accesso diretto alle applicazioni potremmo dare forma a un menù che riesca a sostituire il «quick-start»:

Ti lascio, caro lettore, con i dettagli.

Math: «portare a sinistra» espressioni a più righe

Quando un’espressione viene creata in Math utilizzando «newline» per avere più righe, in modo predefinito tutte le righe saranno centrate prendendo come riferimento la riga più larga

Se si vuole portare tutto «a sinistra» potremo provare con il menu di formattazione, ma… insomma, provate che i risultati possono essere interessanti 😈

Ma c’è un modo semplicissimo di portare tutto a sinistra senza distruggere le frazioni: scrivere due virgolette doppie all’inizio della riga:

E si, proprio così facile.

Nuovo in LibO 5.4: inserire filigrane

Cioè, più che il fatto di aggiungere la filigrana quello che risulta nuovo è «l’elegante hack» con il quale viene implementato.

Mi spiego: sempre è stato possibile aggiungere un oggetto Fontwork, ancorarlo alla intestazione pagina e inviarlo «al fondo», quello che è nuovo in 5.4 è che tutta questa lunga procedura manuale è stata elegantemente impacchettata nel menu Inserisci → Watermark (manca ancora finire la traduzione):

L’oggetto si presenterà in tutti gli stili di pagina in uso senza più lavoro da parte dello scrittore. Per modificare una filigrana così creata sarà sufficiente tornare al menù indicato. Addirittura se si cancella il contenuto della casella «text» la filigrana sarà eliminata.

È vero, non è ancora uno strumento dedicato alle filigrane, è un «hack», ma così ingegnoso che non te ne rendi nemmeno conto!