LibreOffice Writer/Math
Un documento non è soltanto testo, immagini o tabelle. Un documento può contenere anche elaborati diagrammi (parleremo su questo nel prossimo capitolo) o espressioni matematiche: per quest'ultimo esiste Math.
Inserisci → Oggetto → Formula crea un oggetto Math in Writer, pronto ad accettare le nostre espressioni matematiche.
Math lavora in un modo diverso agli editori di equazioni di altri programmi: anche se ci sono menù a tendina e bottoni per scegliere quello che serve, Math è sostanzialmente un editore di testo semplice che traduce istruzioni in formule, come si vede nella Figura 55 di seguito.
Prima che il lettore si spaventi devo dire che costruire le equazioni in «modalità testo» (metodo che non sorprenderà a chi viene da LaTeX) è molto più semplice che con una metodologia basata soltanto nei menù, soprattutto nelle espressioni complesse dove ci sono tanti elementi «annidati» come la definizione per parti della funzione g che si vede nella figura.
Math è uno strumento adeguato per il suo lavoro, piuttosto filessibile e che permette di scrivere espressioni complesse con relativamente poco sforzo. Math però ha anche delle limitazioni importanti: non usa gli stili, la configurazione predefinita si applica soltanto a nuovi oggetti, non a quelli già inseriti, non funziona all'interno di quadri di testo in Draw… infine, diversi problemi.
Ma si può però lavorare (infatti, ho pubblicato un libro di fisica utilizzandolo senza maggiori problemi), perciò in questo capitolo vi farò vedere alcuni consigli per poter usarlo senza troppe sofferenze. Dobbiamo tener presente, però, che si deve sempre utilizzare lo strumento giusto per il lavoro e pertanto se dobbiamo scrivere una tesi di fisica o matematica LaTeX (sia utilizzando una opportuna estensione per Writer o creando con con questo sistema tutto il documento — soprattutto se viene utilizzato LyX) sarà la miglior opzione. Però al di là di questi casi «estremi» che io steso ho vissuto, il campo di situazioni in cui Math può risultare di utilità è veramente grande.
Concetti generali su Math
modificaNel menù Aiuto → Guida di LibreOffice (oppure, semplicemente F1), se si sceglie nel menù a tendina a sinistra «LibreOffice Math» e nella scheda Indice, sotto Termino cercato si scrive — senza virgolette— «Formula;tabelle di riferimento» (dopo del «;» non ci va spazio) si può trovare una lista delle istruzioni utilizzate da Math per costruire le equazioni. Consiglio di stabilire un «segnalibro» per quella pagina perché sarà di consultazione obbligata quando si inizia a lavorare con Math (Figura 56).
I file d'aiuto di LibO non vengono installati in modo predefinito, assicuratevi di scaricarli e installarli!
La gran maggioranza di queste istruzioni sono veramente semplici e non hanno bisogno di particolari chiarimenti, perciò in questo capitolo parlerò soltanto di quei concetti che risultano «complicati » per i nuovi utenti. Vedrà pertanto il lettore che in alcuni esempi a seguire ci saranno elementi non definiti nel testo, ma questo non necessariamente sarà per trascuratezza da parte mia: più che altro risulterà un invito a rivisitare la documentazione corrispondente.
Realizzando un clic destro nell'area di lavoro di Math l'utente troverà anche un menù contestuale che presenta, perfettamente organizzate, le principali funzioni di Math.
Testo semplice
modificaCi sono delle combinazioni di caratteri e/o simboli che sono utilizzati da Math per scopi particolari che vedremo più in giù.
Per esempio, «sum» serve per inserire una sommatoria e «int» per un integrale. Il simbolo % è utilizzato per indicare altri simboli: %alfa in Math inserirà un α, mentre che %ialfa inserirà α (cioè, un alfa in corsivo). Ma, cosa succede se vogliamo inserire delle catene di testo oppure altri simboli?
La forma più semplice di inserire «testo puro» è utilizzare le virgolette doppie: "%" inserirà il simbolo % mentre "sum" inserirà i caratteri «sum» senza convertirli in una sommatoria.
Questo può anche essere utilizzato per far si che il testo inserito non venga considerato come «variabile» per così evitare che passi a corsivo.
E se vogliamo inserire le virgolette doppie? Potremmo, per esempio, avere bisogno d'inserire un angolo come 3º2'3"…
Oltre ad aggiungere un nuovo simbolo in Math (più in giù vedremo come si fa questo, che non è precisamente evidente) il modo più semplice e quello di racchiudere due virgolette singole con delle virgolette doppie, scrivendo
3"º"2"'"1"''"
come si vede nella Figura 57.
Pure le virgolette singole si vedono meglio se inserite come testo puro.
Operatori e relazioni
modificaSe nell'editor di Math si scrive semplicemente un uguale senza niente prima o dopo, Math darà errore mostrando due punti interrogativi in rosso. Lo stesso succederà con qualsiasi altra relazione (<, <=, eccetera). Se si scrive sum per introdurre una sommatoria (o int per un integrale, o…), ma non scriviamo niente dopo comparirà anche questo punto interrogativo. Lo stesso se viene scritto a^ senza definire l'esponente.
Il motivo di tutto questo e che tanto le relazioni (=, +, –, <, eccetera) come gli operatori (sum, int, lim, eccetera) necessitano di argomenti: non ha senso scrivere un uguale senza niente che venga uguagliato, o una sommatoria senza il termine generale da sommare.
Ma ogni tanto risulta necessario scrivere un «+» per indicare la carica di uno ione, per esempio, in quel caso le virgolette doppie vengono in aiuto:
"Na"^"+"
ci darà Na+.
Le virgolette doppie possono anche essere utilizzate per racchiudere «il nulla»:
a = ""
ci darà a=
Alcuni operatori accettano «attributi». Per esempio, le istruzioni from e to si possono utilizzare per stabilire dei «limiti» come nel seguente esempio:
sum from{n=1} to infty a_n
È possibile definire degli «operatori temporanei» utilizzando le istruzioni oper e boper con un carattere qualsiasi. Per esempio:
oper P from {n=1} to infty Q_n
Gruppi e parentesi
modificaA volte per scrivere espressioni del tipo risulta necessario «raggruppare» termini perché
1 over a + b
ci darà
Il modo da raggruppare termini in Math è utilizzare le parentesi graffe { }: si scrive
1 over {a + b}
È importante che i gruppi siano «chiusi»: scrivendo soltanto una delle parentesi ci darà errore.
Inserendo una parentesi grafa da apertura Math inserirà automaticamente quella di chiusura, lasciando un paio di spazi in attesa di contenuto.
Lo stesso accade con le parentesi tondi, quadre e tutto il resto: devono trovarsi in coppie.
La miglior forma di costruire parentesi è utilizzare le istruzioni left e right, le quali ci permettono di avere parentesi scalabili. Qualche esempio:
( a over b ) |
|
left ( a over b right ) |
Le istruzioni lbrace e rbrace danno le parentesi graffe sinistra e destra, rispettivamente:
left lbrace a over b right rbrace |
E se vogliamo soltanto una parentesi? L'istruzione none viene in aiuto:
left ( a over b right none |
Non siamo limitati alle coppie tradizionali di parentesi:
left ) a over b right lline |
dove lline rappresenta la linea verticale.
Per il fisico quantistico che vive in noi c'è anche l'istruzione mline:
left langle x mline |
dove langle e rangle rappresentano i parentesi angolari di sinistra e destra, rispettivamente.[1]
Grandezze, colori e interruzioni di linea
modificaGrandezze
modificaPossono essere controllate con l'istruzione size.
Esistono due metodi per utilizzare questa istruzione: dando il valore assoluto in punti oppure un fattore che modifichi la grandezza predefinita. Per esempio, se il font predefinito in Math e di 12 punti, le espressioni
size 18 {espressione} size *1,5 {espressione}
daranno lo stesso risultato perché 18 è proprio 1,5 volte di più che 12.
Colori
modificaÈ possibile cambiare il colore di una espressione Math, o di solo una parte della espressione, utilizzando l'istruzione color in questo modo:
color <il colore> {espressione}
La lista dei colori è ampia, però limitata. Il modo migliore per sceglierli è utilizzare il pannello con le istruzioni Math visto nella Figura 55 selezionando Attributi del menù.
Interruzioni
modificaNell'esempio della Figura 55 si vede un'istruzione chiamata newline. Quest'istruzione inserisce un interruzione linea permettendo di costruire espressioni «a più righe».
Si deve tenere presente che newline non può essere utilizzato all'interno di coppie di parentesi o altre cose che devano essere «chiuse» come le virgolette, i gruppi oppure le istruzioni appena viste size e color. Per costruire, per esempio, un'espressione con solo una parentesi d'apertura nella prima riga e solo uno di chiusura nella seconda, dobbiamo farla nel seguente modo:
left ( "prima riga" right none newline left none "seconda riga" right )
mentre se si utilizzano le istruzioni size e color queste dovranno essere ripetute in ogni riga.
Formati «strani»
modificaGli esponenti possono essere introdotti utilizzando le istruzioni mostrate nei seguenti esempi:
A_b |
|
A^b |
|
A lsub b |
|
A lsup b |
|
A csub b |
|
A csup b |
È possibile introdurre delle matrici in Math con l'istruzione matrix:
matrix{a # b ## c # d}
Come si può vedere nell'esempio, il cancelletto semplice separa colonne mentre che quello doppio separa righe.
Un'altra istruzione molto utile è stack, la quale funziona come una matrice colonna:
stack{a # b # c}
Per parlare di insiemi di numeri ci sono le istruzioni
setN setZ setQ setR setC |
L'opzione, all'interno di Math, che viene attivata con Formato → Modo testo permette di passare da questo:
utile per equazioni che si trovano in un paragrafo indipendente, a questo: che si vede meglio in mezzo al testo.
Attributi vari
modificaUn esempio vale di più che mille spiegazioni, perciò qui va il mio invito al lettore di tentare di capire cosa fanno le seguenti istruzioni: phantom, bold, italic, nitalic. Di seguito un caso «più difficile»:
vec a cdot vec b = a_x b_x + a_y b_y newline alignl phantom {vec a cdot vec b} = abs{vec a}abs{vec b}cos %alfa
Scegliere i font predefiniti degli oggetti Math
modificaIl menù che si apre quando da un oggetto Math si seleziona Formato → Tipi di carattere risulta un tanto confuso: i menù a tendina disponibili per ogni tipologia di font (variabili, funzioni, numeri, testo…) offrono soltanto il font utilizzato in quel momento.
Per modificare quei font è necessario selezionare la categoria da modificare con il menù a tendina del bottone Cambia: soltanto così si presenterà un menù che permette di scegliere il font e i suoi attributi (grassetto, corsivo).
Dopo realizzate le modifiche non dobbiamo dimenticarci di premere il bottone Predefinito, altrimenti le modifiche si applicheranno soltanto a quell'oggetto Math.
Per il momento non c'è un modo diretto di modificare il font utilizzato per i simboli (caratteri greci, simboli matematici):
Bug 101174 - Enable means to change Formula Editor default font from OpenSymbol via Expert Configuration
Il menù che si presenta con Formato → Dimensioni carattere risulta più semplice e non ha bisogno di spiegazioni.
Esiste una richiesta che chiede di aggiungere a Math la capacità di prendere la grandezza del font del paragrafo sul quale si trova l'oggetto:
Bug 32419 - When inserted on Writer, get "Base size" for formulas from underlining paragraph
Soltanto non dimenticatevi di premere il bottone Predefinito.
Come già indicato questa configurazione non modificherà oggetti inseriti prima, sarà necessario modificarli uno a la volta.
Gli oggetti Math non sono basati su stili e pertanto se si devono utilizzare diversi font in diversi documenti si dovrà modificare i valori predefiniti ogni volta che si passa da uno all'altro.
Definire nuovi simboli per Math
modificaIl numero di «simboli speciali» predefiniti in Math non risulta particolarmente «grande», perciò potrebbe essere necessario il definire degli altri.
Si deve tenere presente che l'editore di Math supporta senza problemi unicode e perciò se un determinato simbolo è disponibile nel font utilizzato da Math per rappresentare il testo (e non dobbiamo introdurlo molto spesso) sarà sufficiente introdurlo prima in Writer, copiarlo e poi incollarlo nell'editore di Math.
Esiste una richiesta di aggiungere a Math l'opzione di inserire simboli:
Bug 32418 - Add an "insert symbol" to Math.
Se un simbolo determinato risulta molto necessario l'opzione di copiare e incollare non sarà più la più confortevole, e perciò risulterà conveniente definire un nuovo simbolo. Per questo dobbiamo, dall'interno di un oggetto Math, aprire Strumenti → Simboli e fare clic sul bottone Modifica per ottenere il dialogo rappresentato nella Figura 58.
Quello che ci interessa qui sono i menù a tendina che si trovano sotto i simboli:
- Dimentichiamoci per un attimo che questi menù a tendina sono menù a tendina, cancelliamo quello che c'è scritto in Simbolo e scriviamo il nome del nuovo simbolo (per esempio, MioSimbolo)
- Ricordiamoci ancora che questi menù a tendina sono menù a tendina per scegliere in Carattere un font che contenga il simbolo necessario, il Sottoinsieme di quel font dove si trova il simbolo e, certamente, prendiamo il simbolo della tabella sopra.
- Se necessario e il font lo permette, si sceglie lo Stile per il simbolo (standard, corsivo, grassetto, grassetto corsivo).
- Volendo, è possibile scegliere un altro Gruppo di simboli o addirittura definire uno nuovo.
- Clic in Aggiungi e poi in OK.
Tutto pronto. Adesso potremo utilizzare il nuovo simbolo in qualsiasi equazione scrivendo %MioSimbolo.
Spaziatura e allineamento di oggetti Math in Writer
modificaSpaziatura
modificaCon la configurazione predefinita, gli oggetti Math sono inseriti in Writer con grandi spazi prima e dopo. Per eliminare questi spazi per sempre (o almeno per nuovi oggetti) è necessario seguire due semplici passi:
- Nell'editore di stili e formattazione dobbiamo andare agli Stili di cornice (terzo bottone da sinistra a destra). Lì si deve modificare lo stile «Formula» (clic destro → Cambia). Nella scheda Scorrimento, cambiare gli spazi a sinistra e a destra al valore zero. Finalmente, salvare il documento come il modello predefinito.
- Aprire (o creare) un oggetto Math e dirigersi a Formato → Spaziatura. Nel menù Categoria scegliere Bordi e modificare i margini a zero. Finalmente, premere il bottone Predefinito.
Allineamento
modificaSotto Strumenti → Opzioni → LibreOffice Writer → Formattazione → Assistenza layout si ha l'opzione Allineamento linea di base Math che attiva l'allineamento verticale automatico degli oggetti Math d'accordo a una «linea di base».
Si deve tenere presente che questa opzione, attiva in modo predefinito in tutti i nuovi documenti, sarà disabilitata in documenti creati con la versione 3.x dove questa funzione non esisteva.
Spaziatura «interna»
modificaMath automaticamente include spazi tra elementi diversi di una equazione. Anche se questo risulta corretto quasi sempre, quando vengono inseriti elementi consecutivi con diversi «attributi» (corsivo l'uno e grassetto l'altro, per esempio) lo spazio aggiuntivo che compare potrebbe produrre un effetto indesiderato.
Questo problema si risolve (in parte) con l'istruzione nospace come si può vedere nella schermata della Figura 59.
Edizione «quasi grafica»
modificaUn piccolo segreto di Math per chiudere questo capitolo: se stando all'interno dell'editor facciamo clic su un elemento dell'equazione «grafica» (quella che si costruisce automaticamente mentre viene scritto il codice) il cursore andrà direttamente alla posizione del codice che rappresenta l'elemento scelto, il quale verrà «marcato» con un sottile rettangolo di linea tratteggiata.
Questo risulta veramente utile nel modificare espressioni complicate perché ci permette di localizzare immediatamente la parte del codice necessaria. L'effetto risulta visibile nella Figura 59.
Note
modifica- ↑ Per una lista dei codici per i caratteri greci, dall'interno di un oggetto Math Strumenti → Simboli.