[successivo] [precedente] [inizio] [fine] [indice generale] [indice ridotto] [indice analitico] [home] [volume] [parte]


Capitolo 248.   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 248.1. XFig.

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.

248.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 248.3:

#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 248.3. 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.

248.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:

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:

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:

xfig-pulsanti-opzioni

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

248.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 248.7. 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 fig2dev(1). Viene mostrato l'esempio della conversione di un file FIG in formato EPS:

fig2dev -L eps esempio.fig esempio.eps[Invio]

È 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[Invio]

In questo esempio, si vuole convertire il file esempio.ps nel file esempio.fig (pstoedit è descritto nella sezione 215.6.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.

248.5   Altri programmi affini

248.6   Riferimenti


1) XFig   software libero con licenza speciale

2) Ogonkify   GNU GPL


Appunti di informatica libera 2008 --- Copyright © 2000-2008 Daniele Giacomini -- <appunti2 (ad) gmail·com>


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

[successivo] [precedente] [inizio] [fine] [indice generale] [indice ridotto] [indice analitico] [home]

Valid ISO-HTML!

CSS validator!

Gjlg Metamotore e Web Directory