[successivo] [precedente] [inizio] [fine] [indice generale] [indice ridotto] [violazione licenza] [translators] [docinfo] [indice analitico] [volume] [parte]
di Massimo Piai <pxam67 (ad) virgilio·it>
Le «estensioni PXAM» sono caratteristiche di Alml curate da Massimo Piai. |
A partire dall'estate del 2005, Alml permette di incorporare codice relativo a svariati tipi di minilinguaggi grafici.
È possibile incorporare codice relativo ai pacchetti di macro *roff denominati Pic, Tbl, Eqn attraverso gli elementi picimage e picimg, tblimage e tblimg, eqnimage e eqnimg rispettivamente; l'utilizzo è abbastanza analogo a quelli di altri elementi simili.
Nei listati 356.1, 356.2, 356.3 vengono presentati tre esempi di incorporazione nell'ambito degli elementi picimage, tblimage, eqnimage rispettivamente; corrispondentemente, le figure 356.4, 356.5, 356.6 illustrano l'aspetto finale delle immagini in relazione al codice presentato.
Listato 356.1. Codice incorporato: macro *roff (Pic).
|
Listato 356.2. Codice incorporato: macro *roff (Tbl).
|
Listato 356.3. Codice incorporato: macro *roff (Eqn).
|
Figura 356.4. Codice incorporato: Pic.
|
Figura 356.5. Codice incorporato: Tbl.
|
Figura 356.6. Codice incorporato: Eqn.
|
Si notino le seguenti particolarità:
non si deve delimitare il codice mediante le macro .PS e .PE, .TS e .TE, .EQ e .EN rispettivamente, sebbene esse siano previsti in un sorgente *roff normale;
il codice Pic e il codice Tbl possono includere codice Eqn, a patto di delimitare tale codice mediante una coppia di caratteri dollaro ($) (il listato 356.7 e la figura 356.8 illustrano un esempio nel primo caso).
Listato 356.7. Codice incorporato: Eqn dentro Pic.
|
Figura 356.8. Codice incorporato: Eqn dentro Pic.
|
È possibile incorporare codice relativo ai programmi del pacchetto GNU Plotutils,(1) Graph, Plot, Pic2plot, Spline, Ode attraverso gli elementi pugraphimage e pugraphimg, puplotimage e puplotimg, pupic2plotimage e pupic2plotimg, pusplineimage e pusplineimg, puodeimage e puodeimg rispettivamente; l'utilizzo è abbastanza analogo a quelli di altri elementi simili.
Nei listati 356.9, 356.10, 356.11, 356.12, 356.13 vengono presentati cinque esempi di incorporazione nell'ambito degli elementi pugraphimage, puplotimage, pupic2plotimage, pusplineimage, puodeimage rispettivamente; corrispondentemente, le figure 356.14, 356.15, 356.16, 356.17, 356.18 illustrano l'aspetto finale delle immagini in relazione al codice presentato.
Listato 356.9. Codice incorporato: GNU Plotutils (Graph).
|
Listato 356.10. Codice incorporato: GNU Plotutils (Plot).
|
Listato 356.11. Codice incorporato: GNU Plotutils (Pic2plot).
|
Listato 356.12. Codice incorporato: GNU Plotutils (Spline).
|
Listato 356.13. Codice incorporato: GNU Plotutils (Ode).
|
Figura 356.14. Codice incorporato: Graph.
|
Figura 356.15. Codice incorporato: Plot.
|
Figura 356.16. Codice incorporato: Pic2plot.
|
Figura 356.17. Codice incorporato: Spline.
|
Figura 356.18. Codice incorporato: Ode.
|
Si notino le seguenti particolarità:
la prima riga del codice Graph deve essere un commento (eventualmente vuoto), ossia una riga che inizi con il carattere cancelletto (#); quanto segue il primo carattere viene interpretato come riga di comando da passare all'eseguibile graph, al fine di consentire l'uso delle varie opzioni del programma;
quanto detto al punto precedente si applica anche al caso del codice Spline e del codice Ode, con la differenza che in questi casi sono due le righe di commento obbligatorie, corrispondenti a righe di comando per gli eseguibili spline e graph, oppure ode e graph, rispettivamente (poiché entrambe le coppie di eseguibili contribuiscono, in una pipeline, alla generazione dell'immagine);
a causa del meccanismo con cui alml estrae le righe di comando dalla sezione marcata CDATA, è essenziale che non ci siano spazi o righe vuote fra il marcatore precedente e l'inizio della sezione stessa; ad esempio, la riga 3 nel seguente listato deve terminare con il carattere >:
|
il codice Pic2plot deve iniziare con la macro .PS e terminare con la macro .PE; inoltre si tenga presente che gli elementi picimage e picimg (sezione 356.1) forniscono un supporto più completo per chi desideri utilizzare codice Pic (ad esempio consentono l'uso dei colori, nonché l'inclusione di codice Eqn).
È possibile incorporare codice grafico generico, nel senso di una qualunque riga di comando associata a codice in input, a patto che tale riga di comando sia opportunamente formattata e il comando emetta codice EPS; si utilizzano a tal fine gli elementi genericimage e genericimg.
Nei listati 356.20 e 356.21 vengono presentati due esempi di incorporazione nell'ambito dell'elemento genericimage rispettivamente; corrispondentemente, le figure 356.22 e 356.23 illustrano l'aspetto finale delle immagini in relazione al codice presentato.
Listato 356.20. Codice incorporato generico.
|
Listato 356.21. Codice incorporato generico: un caso limite.
|
Figura 356.22. Codice incorporato generico.
|
Figura 356.23. Codice incorporato generico: un caso limite.
|
Si notino le seguenti particolarità:
la prima riga del codice ha la forma di un commento standard; quanto segue il carattere cancelletto (#) è lo schema del comando da eseguire: in esso possono figurare (in guisa di metavariabili) le stringhe INPUT e OUTPUT, le quali rappresentano rispettivamente l'input e l'output della riga di comando; l'input viene in pratica prelevato dalle rimanenti righe del codice, mentre l'output deve essere in formato EPS;
le righe del codice successive alla prima devono costituire un input valido per la riga di comando, ma eventualmente possono essere assenti, nel caso in cui la riga di comando non necessiti di input (listato 356.20 e figura 356.23);
valgono anche nel caso del codice generico le osservazioni relative agli spazi o alle righe vuote immediatamente prima dell'inizio della sezione marcata CDATA, come nel caso del codice GNU Plotutils Graph, Spline e Ode;
per ragioni di sicurezza la riga di comando non viene eseguita (e l'immagine, di conseguenza, non viene generata), a meno che l'eseguibile alml non venga invocato utilizzando l'opzione --embedded-script-enable.
1) GNU Plotutils GNU GPL
Dovrebbe essere possibile fare riferimento a questa pagina anche con il nome alml_estensioni_pxam.htm
[successivo] [precedente] [inizio] [fine] [indice generale] [indice ridotto] [violazione licenza] [translators] [docinfo] [indice analitico]