# LibreOffice Writer/Problemi difficili

LibreOffice Writer
Copertina Tutti i moduli · Sviluppo

## A. Introduzione

    PrefazioneLibreOffice Writer/Prefazione
    Nozioni generaliLibreOffice Writer/Nozioni generali

## B. Gli strumenti base

* Configurare l'interfaccia di LibreOfficeLibreOffice Writer/Configurare l'interfaccia di LibreOffice
* Commenti e controllo delle versioniLibreOffice Writer/Commenti e controllo delle versioni
* Stili e modelli in WriterLibreOffice Writer/Stili e modelli in Writer
* Numerare le pagine: gli stili di paginaLibreOffice Writer/Numerare le pagine: gli stili di pagina
* Organizzare e numerare i capitoliLibreOffice Writer/Organizzare e numerare i capitoli
* Immagini incorporate e collegateLibreOffice Writer/Immagini incorporate e collegate

## C. Dare forma al contenuto

* Configurare l'indice generaleLibreOffice Writer/Configurare l'indice generale
* Elenchi numerati e puntatiLibreOffice Writer/Elenchi numerati e puntati
* Note a piè di pagina e note di chiusuraLibreOffice Writer/Note a piè di pagina e note di chiusura
* Le sezioniLibreOffice Writer/Le sezioni
* Testo in colonneLibreOffice Writer/Testo in colonne
* Usare le tabelle in WriterLibreOffice Writer/Usare le tabelle in Writer
* Le corniciLibreOffice Writer/Le cornici
* Correzione automatica e testo automaticoLibreOffice Writer/Correzione automatica e testo automatico

## D. Strumenti avanzati

* Il navigatoreLibreOffice Writer/Il navigatore
* Campi, riferimenti incrociati e affiniLibreOffice Writer/Campi, riferimenti incrociati e affini
* Il database bibliograficoLibreOffice Writer/Il database bibliografico
* Introduzione ai documenti masterLibreOffice Writer/Introduzione ai documenti master
* MathLibreOffice Writer/Math
* DrawLibreOffice Writer/Draw
* Presentare dati graficamente: ChartLibreOffice Writer/Presentare dati graficamente: Chart
* Trovare e sostituire: le espressioni regolariLibreOffice Writer/Trovare e sostituire: le espressioni regolari
* Automatizzare processi: il registratore di macroLibreOffice Writer/Automatizzare processi: il registratore di macro
* Conformità registroLibreOffice Writer/Conformità registro
* Proprietà tipografiche avanzateLibreOffice Writer/Proprietà tipografiche avanzate
* EstensioniLibreOffice Writer/Estensioni
* Configurare la correzione ortograficaLibreOffice Writer/Configurare la correzione ortografica
* Writer, PDF e le immagini vettorialiLibreOffice Writer/Writer, PDF e le immagini vettoriali

## E. Problemi e soluzioni

* Problemi sempliciLibreOffice Writer/Problemi semplici
* Problemi mediLibreOffice Writer/Problemi medi
* Problemi difficiliLibreOffice Writer/Problemi difficili

## F. Appendice

    Esempi e temi variLibreOffice Writer/Esempi e temi vari
Modifica il sommario

## I campi non prendono la formattazione del testo originale, seconda parte

Nel caso in cui utilizzare veri apici e pedici non sia una opzione accettabile (si ha bisogno di un carattere greco come apice o semplicemente non si può utilizzare un font con quella caratteristica) l'unica possibilità è… lavorare tanto.
Per avere l'informazione giusta nelle intestazioni o piè di pagina in cui ci siano titoli con apici o pedici o cose ancora più complicate, dovremo creare un altro stile di pagina per quella parte e inserire l'informazione «a mano».
E sì, la vita può essere crudele.

## All'interno di un file odt

La definizione del formato opendocument utilizzato per LibO ha più di settecento pagine, perciò risulta chiaro che non possiamo parlare qui di tutte le sue caratteristiche… soprattutto considerando che non le conosco.
L'obbiettivo di questa parte è, dopo una piccola introduzione alla struttura di un file odt, risolvere alcuni problemi non risolubili dall'interfaccia grafica di Writer, principalmente:
* Modificare le immagini incorporate al documento con un programma esterno (per esempio, per passare tutto a scala di grigi).
* Estrarre le immagini incorporate per farle diventare vincolate.
* Liberare l'immaginazione dell'utente per risolvere altri problemi…

### La struttura del file

Se si prende un file odt qualsiasi (meglio se si prende una copia di un file odt qualsiasi) e si modifica l'estensione da .odt a .zip avremo un semplice file compresso con al suo interno diversi file scritti in formato xml e qualche cartella contenente immagini, macro oppure barre degli strumenti che possano essere parte del file. Gli elementi più importanti per il discorso di questo capitolo sono i file content.xml, styles.xml e la cartella Pictures.
Nel file content.xml si trova il contenuto vero del documento, segnalato con delle etichette che indicano gli stili applicati, le immagini, eccetera. La sintassi di questo file non risulta troppo complicata, soltanto si deve considerare che alcuni simboli sono riservati e che pertanto se devono comparire nel contenuto del documento li si dovrà rappresentare in un modo particolare.
Gli stili indicati nel fle content.xml sono definiti nel fle styles.xml. In questo fle vengono dichiarati nel dettaglio tutti gli stili utilizzati nel documento.
Una curiosità del formato ODF è che la definizione della formatazione direta si realizza con lo stesso «linguaggio» della definizione degli stili: l'unica differenza risiede nel fato che questi «stili fantasma» usati per definire la formatazione direta vengono dichiarati all'inizio del fle content.xml e non nel fle styles.xml, e per questo non sono accessibili dall'editore di stili e formatazione.
La lista dei «caratteri riservati» all'interno di un file xml, con i suoi corrispondenti rappresentazioni, si trova nella Tabella 3.
Tabella 3: Caratteri speciali all'interno del codice xml :
| &amp; | &quot; | &apos; | &lt; | &gt; |
Nella cartella Pictures troveremo tutte le immagini incorporate nel documento, le quali saranno «nominate» con nomi generici e poco amichevoli del tipo

### Primo esempio: editare le immagini

Immaginiamo di dover modificare tutte le immagini incorporate in un documento utilizzando un programma esterno. Per esempio per passare da colore a bianco e nero. Per questo sarà sufficiente scompattare il file odt, lavorare sulle immagini e comprimere tutto come prima, rispettando la struttura originale del file.

### Secondo esempio: passare da immagini incorporate a immagini vincolate

Un'immagine incorporata si vedrà, all'interno del file content.xml, del seguente modo:
e altri codici che non ci interessano in questo momento, mentre una immagine vincolata (la quale, per semplicità del discorso, si trova nella medesima cartella del file odt) si vedrà così:
ancora con altri codici che non ci interessano.
Se nel nome dell'immagine si trova uno spazio, questo verrà indicato da un %20.
Come si può vedere dall'esempio, praticamente non ci sono differenze nel modo in cui una immagine incorporata oppure una vincolata sono chiamate: per entrambe si utilizza un «href». L'unica differenza è nella struttura dell'indirizzo dell'immagine: per quella incorporata si ha un percorso assoluto all'interno del file mentre per quella vincolata si deve prima «uscire» dal file compattato con i due punti successivi seguiti della barra invertita.
Come già commentato precedentemente passare da immagini vincolate a incorporate è semplice e si può fare da Modifica → Collegamenti ipertestuale. Adesso vediamo che con una modifica quasi banale nella struttura del file content.xml potremmo fare l'operazione opposta: estrarre le immagini per farle diventare vincolate. La procedura è la seguente:
* Cambiare l'estensione del file da odt a zip.
* Scompattare lo zip in una cartella vuota.
* Aprire il file content.xml con un editore di testo e sostituire tutte le istanze di Pictures per ../Pictures
* Selezionare tutti i file e le cartelle TRANNE la cartella Pictures e compattare il tutto in un nuovo zip.
* Cambiare la estensione del file da zip a odt.
Ecco fatto! Nel nuovo documento odt tutte le immagini saranno vincolate.
Al punto 3, se si desidera, oltre ad aggiungere i due punti e la barra si può anche modifcare il nome della cartella contenente le immagini.
Dato che adesso sono vincolate, se dovete spostare il fle in un nuovo computer, non dimenticatevi della cartella con le immagini!