[successivo] [precedente] [inizio] [fine] [indice generale]


Sezione 22.   Indicazioni operative per ottenere le immagini

Per effettuare delle prove con il linguaggio Pic è necessario poter ottenere in qualche modo concreto l'immagine finale e visualizzarla. A tale scopo si indicano qui alcune possibilità.

Si può ad esempio utilizzare una pipeline del genere:

cat sorgente_pic | pic | troff -Tps | grops | ps2eps > file_eps

ottenendo quindi un file EPS, da visualizzare o ulteriormente elaborare. Addirittura si potrebbe preparare una riga di comando più complessa, la quale racchiuda in sé l'intero ciclo di modifica, compilazione e visualizzazione:

vi sorgente_pic; cat sorgente_pic | pic | troff -Tps | grops | ps2eps > file_eps; \
  \gv file_eps

Se la sintassi del sorgente Pic non è corretta, si ottiene un messaggio di errore standard, secondo lo schema seguente:

pic:sorgente_pic:numero_di_riga: syntax error before elemento
pic:sorgente_pic:numero_di_riga: giving up on this picture

ove elemento è un elemento sintattico, di solito immediatamente successivo alla causa dell'errore.

Un'alternativa sintatticamente più semplice prevede l'utlizzo di Pic2plot (parte del pacchetto GNU Plotutils):

cat sorgente_pic | pic2plot -Tps > file_eps

tenendo però presente che:

Un'ulteriore semplificazione si può ottenere utilizzando il programma di Eric S. Raymond pic2graph, il quale si appoggia a Groff e perciò riconosce l'intero linguaggio Pic:

cat sorgente_pic | pic2graph > file_png

Va precisato che, purtroppo, al momento della stesura del presente lavoro il programma pic2graph non funziona correttamente, nel senso che il file prodotto non ha le dimensioni corrette ed è pertanto inutilizzabile.

Se si intende utilizzare del codice Eqn all'interno del codice Pic, si tenga presente che (secondo quanto dichiarato nella pagina di manuale(1)) la realizzazione GNU di Eqn (Geqn) non è del tutto compatibile con il Troff tradizionale, pertanto è necessario utilizzare Groff:

cat sorgente | groff -e -p | ps2eps > file_eps

Per poter utilizzare del codice Eqn all'interno del codice Pic è necessario che nel sorgente si specifichino i delimitatori per il codice Eqn, mediante le macro .EQ e .EN, ad esempio:

.EQ
delim $$
.EN
.PS
arrow; box "$1 over H(z)$"; arrow
.PE

Infine, si noti che Alml (il sistema di composizione SGML di Daniele Giacomini) offre supporto - a partire dall'estate 2005 - per il linguaggio Pic.


Informatica per sopravvivere 2006.01.30 --- Copyright © 2004-2006 Massimo Piai -- <pxam67 (ad) virgilio·it>


1) «[...] The syntax is quite compatible with Unix eqn. The output of GNU eqn cannot be processed with Unix troff; it must be processed with GNU troff. [...]»


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

[successivo] [precedente] [inizio] [fine] [indice generale]

Valid ISO-HTML!

CSS validator!