[successivo] [precedente] [inizio] [fine] [indice generale] [violazione GPL] [translators] [docinfo] [indice analitico] [volume] [parte]


Capitolo 109.   XFig

XFig (1) è un programma per il disegno vettoriale, con un'estetica un po' particolare, che differisce dagli applicativi comuni per l'automazione ufficio, in quanto si indica prima l'azione e poi l'oggetto a cui si applica.

Figura 109.1. XFig.

figure/a2-xfig-esempio-di-funzionamento

La descrizione che viene fatta in questo capitolo di XFig è molto superficiale, per consentire semplicemente di comprendere le possibilità di questo programma di disegno. La documentazione originale è comunque molto dettagliata e facile da consultare.

109.1   Formato FIG

XFig salva in un formato speciale: FIG. Si tratta di un file di testo normale, in cui si possono intuire i dati inseriti. Segue un esempio, che si traduce in pratica nella figura 109.2:


#FIG 3.2
Landscape
Center
Metric
A4      
100.00
Single
-2
1200 2
2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
         270 225 1755 225 1755 990 270 990 270 225
2 4 0 1 0 17 50 0 -1 0.000 0 0 7 0 0 5
         2745 1395 2745 540 1215 540 1215 1395 2745 1395
4 0 0 50 0 0 12 0.0000 4 180 1350 1845 360 Esempio con XFig\001

Figura 109.2. Esempio con XFig.

Esempio

Si può osservare in particolare che il testo può essere rappresentato con caratteri normali e anche con sequenze ottali, nella forma \nnn. Pertanto, la sequenza \001 che si vede nell'esempio, rappresenta il codice <SOH>.

Un file FIG può contenere anche dei commenti, che appaiono preceduti dal simbolo #, nella prima colonna (all'inizio di una riga), a parte la prima direttiva del tipo #FIG versione, che serve a qualificare il contenuto del file.

109.2   Struttura generale dell'interfaccia grafica del programma

L'aspetto del programma non è quello comune ed è necessario apprendere il significato dei vari bottoni grafici e degli altri oggetti che stanno attorno alla superficie di disegno. In alto a sinistra si trovano alcuni pulsanti grafici che aprono dei menù a tendina:

figure/a2-xfig-bottoni-menu

Sotto ai bottoni si trova la descrizione della modalità attiva (selezionata con uno dei bottoni disposti verticalmente sul lato sinistro), mentre un po' più a destra si vede il nome del file aperto. Più a destra, vengono riepilogate le funzionalità disponibili con il mouse, in base alla modalità attiva, oppure in base alla posizione del puntatore del mouse.

Sul lato sinistro è disposta una serie di pulsanti grafici: un primo gruppo riguarda l'inserimento di oggetti sulla superficie di disegno; il secondo consente la modifica degli oggetti. Selezionando uno di questi pulsanti grafici, se ne ottiene anche la descrizione nello spazio sotto i pulsanti del menù, dove in particolare viene anche descritto il modo per richiamare la funzione corrispondente attraverso la tastiera.

Sul lato destro, in alto, appaiono alcuni pulsanti grafici e una serie di caselle di selezione, riferiti alla gestione della profondità. Ogni oggetto che si colloca sulla superficie da disegno, ha un livello, definito come profondità. Un valore pari a zero rappresenta il livello più esterno, mentre un valore pari a 999 si riferisce a una profondità massima. Questa distinzione consente di sovrapporre gli oggetti stabilendo quale sia visibile e quale risulti nascosto: il livello di profondità più basso prende la precedenza e pone l'oggetto sopra gli altri. In questo modo, con il pannello dei pulsanti grafici, è possibile visualizzare solo uno o alcuni strati; nell'esempio mostrato, ne esiste uno soltanto, pari al valore 50:

figure/a2-xfig-pulsanti-profondita

Nel lato inferiore della finestra di XFig appaiono una serie di pulsanti grafici che variano a seconda del contesto e rappresentano delle opzioni che possono essere modificate:

figure/a2-xfig-pulsanti-opzioni

109.3   Utilizzo comune del mouse

L'uso del mouse sulla superficie da disegno, non è intuitiva e ogni contesto ha la sua modalità di uso. Per quanto riguarda il disegno di oggetti comuni (poligoni, cerchi, linee), si possono riepilogare alcuni comportamenti importanti.

Il disegno di un oggetto richiede generalmente la pressione del primo tasto del mouse, in corrispondenza del primo punto che lo riguarda. Se l'oggetto prevede l'inserimento di più punti, questi si ottengono con la pressione successiva dello stesso tasto; se la quantità dei punti è indefinita, l'ultimo punto viene stabilito con la pressione del secondo tasto (quello centrale); al contrario, la pressione del terzo tasto quando l'oggetto non è terminato, provoca l'annullamento del suo inserimento.

Il disegno di un oggetto che prevede l'inserimento di più punti per il tratteggio di una linea, può essere iniziato e terminato con il secondo tasto del mouse, segnalando l'inizio e la fine; durante lo spostamento del mouse, si ottiene l'inserimento di diversi punti a intervalli relativamente frequenti.

In ogni caso, il promemoria che appare in alto a destra, descrive l'uso del mouse in base al contesto attivo; è sempre bene osservare questa guida per sapere come ci si deve comportare.

109.4   Esportazione e importazione di formati differenti

XFig è in grado di esportare un disegno in formati differenti, attraverso la voce {Export} del menù {File}, raggiungibile anche con la combinazione di tasti [Meta+x] ([Alt+x]). Al contrario, non è in grado di importare disegni da altri formati, ma per questo si possono usare programmi esterni.

Il primo programma da considerare è fig2dev, in grado di convertire autonomamente un disegno FIG in altri formati (vettoriali o meno che siano):

fig2dev -L formato [opzioni] [file_fig [file_da_generare]]

fig2dev richiede un'opzione obbligatoria, -L, con la quale si specifica il formato che deve avere il file di destinazione, ottenuto dalla conversione; inoltre, se non si indicano i file, usa lo standard input per ottenere il file FIG da convertire e lo standard output per il file da generare.

Tabella 109.1. Utilizzo dell'opzione -L con fig2dev.

Comando Effetto

-L box

Genera il codice LaTeX necessario a ottenere una scatola della dimensione necessaria a contenere il disegno.

-L cgm

Genera un'immagine CGM (Computer graphic metafile).

-L latex

 

-L epic

 

-L eepic

 

-L eepicemu

Genera un'immagine in formato LaTeX o in altri formati derivati più sofisticati.

-L gif

Genera un'immagine GIF.

-L ibmgl

Genera un disegno in formato IBM-GL, compatibile con HP-GL.

-L jpeg

Genera un'immagine JPEG.

-L map

Genera un file HTML contenente un riferimento a un'immagine esterna che però non viene creata automaticamente.

-L mf

Genera un file da utilizzare con MetaFont per la costruzione di un insieme di caratteri.

-L mp

 

-L mmp

Genera un file MetaPost o MultiMetaPost.

-L pcx

Genera un'immagine PCX.

-L eps

 

-L ps

 

-L pdf

Genera una trasformazione in EPS, PostScript e PDF.

-L pic

 

-L tpic

Genera un file PIC, o TPIC, adatto per Groff.

-L pictex

Genera un formato PicTeX.

-L png

Genera un'immagine PNG.

-L ppm

Genera un'immagine PPM.

-L pstex

 

-L pstex_i

Genera un formato PostScript senza testo e un formato LaTeX complementare, contenente solo il testo.

-L sld

Genera un formato SLD di AutoCAD.

-L textyl

Genera un formato Textyl.

-L tiff

Genera un'immagine TIFF.

-L tk

Genera un formato adatto a TCL/Tk.

-L xbp

Genera un'immagine XBM.

-L xpp

Genera un'immagine XPM.

Oltre all'opzione -L, sono disponibili altre opzioni, alcune delle quali sono specifiche per il tipo di conversione che si intende attuare. Per l'elenco completo delle possibilità, basta consultare la pagina di manuale gif2dev(1). Viene mostrato l'esempio della conversione di un file FIG in formato EPS:

fig2dev -L eps esempio.fig esempio.eps

È interessante notare che il file che si ottiene include solo l'area del disegno che contiene qualcosa, indipendentemente dal formato della carta che può essere specificato nel preambolo del file FIG.

Può essere interessante anche l'uso del programma pstoedit, che è in grado di convertire un file PostScript in un disegno vettoriale; in particolare nel formato FIG:

pstoedit -f fig esempio.ps esempio.fig

In questo esempio, si vuole convertire il file esempio.ps nel file esempio.fig (pstoedit è descritto nella sezione 89.4.1).

Quando si esegue una conversione da un formato vettoriale finale, è molto probabile che si perdano delle informazioni significative sulla struttura del disegno. Per esempio, una linea tratteggiata contenuta in un file PostScript può tradursi in un file FIG come tante piccole linee indipendenti.

109.5   Riferimenti

Appunti di informatica libera 2003.01.01 --- Copyright © 2000-2003 Daniele Giacomini -- daniele @ swlibero.org

1) XFig   software libero con licenza speciale


Dovrebbe essere possibile fare riferimento a questa pagina anche con il nome xfig.html

[successivo] [precedente] [inizio] [fine] [indice generale] [violazione GPL] [translators] [docinfo] [indice analitico]