[successivo] [precedente] [inizio] [fine] [indice generale] [indice analitico] [parte]
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 picimg, tblimg, eqnimg rispettivamente; l'utilizzo è abbastanza analogo a quelli di altri elementi simili.
Nei listati 4.1, 4.2, 4.3 vengono presentati tre esempi di incorporazione nell'ambito degli elementi picimg, tblimg, eqnimg rispettivamente; corrispondentemente, le figure 4.4, 4.5, 4.6 illustrano l'aspetto finale delle immagini in relazione al codice presentato.
Listato 4.1. Codice incorporato: macro *roff (Pic).
|
Listato 4.2. Codice incorporato: macro *roff (Tbl).
|
Listato 4.3. Codice incorporato: macro *roff (Eqn).
|
Figura 4.4. Codice incorporato: Pic.
|
Figura 4.5. Codice incorporato: Tbl.
|
Figura 4.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 4.7 e la figura 4.8 illustrano un esempio nel primo caso).
Listato 4.7. Codice incorporato: Eqn dentro Pic.
|
Figura 4.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 pugraphimg, puplotimg, pupic2plotimg, pusplineimg e puodeimg rispettivamente; l'utilizzo è abbastanza analogo a quelli di altri elementi simili.
Nei listati 4.9, 4.10, 4.11, 4.12, 4.13 vengono presentati cinque esempi di incorporazione nell'ambito degli elementi pugraphimg, puplotimg, pupic2plotimg, pusplineimg, puodeimg rispettivamente; corrispondentemente, le figure 4.14, 4.15, 4.16, 4.17, 4.18 illustrano l'aspetto finale delle immagini in relazione al codice presentato.
Listato 4.9. Codice incorporato: GNU Plotutils (Graph).
|
Listato 4.10. Codice incorporato: GNU Plotutils (Plot).
|
Listato 4.11. Codice incorporato: GNU Plotutils (Pic2plot).
|
Listato 4.12. Codice incorporato: GNU Plotutils (Spline).
|
Listato 4.13. Codice incorporato: GNU Plotutils (Ode).
|
Figura 4.14. Codice incorporato: Graph.
|
Figura 4.15. Codice incorporato: Plot.
|
Figura 4.16. Codice incorporato: Pic2plot.
|
Figura 4.17. Codice incorporato: Spline.
|
Figura 4.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 l'elemento picimg (sezione 4.1) fornisce un supporto più completo per chi desideri utilizzare codice Pic (ad esempio consente 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 utilizza a tal fine l'elemento genericimg.
Nei listati 4.20 e 4.21 vengono presentati due esempi di incorporazione nell'ambito dell'elemento genericimg; corrispondentemente, le figure 4.22 e 4.23 illustrano l'aspetto finale delle immagini in relazione al codice presentato.
Listato 4.20. Codice incorporato generico.
|
Listato 4.21. Codice incorporato generico: un caso limite.
|
Figura 4.22. Codice incorporato generico.
|
Figura 4.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 4.20 e figura 4.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.
È possibile incorporare codice per tracciare diagrammi e annotazioni scacchistiche di vario genere attraverso gli elementi fenimg, fenitimg, sanimg, sanitimg e skakimg.
L'elemento fenimg permette di definire una posizione sulla scacchiera mediante la notazione Forsyth-Edwards (FEN ovvero Forsyth-Edwards Notation). La notazione FEN permette di indicare i pezzi mediante singole lettere che in pratica costituiscono l'iniziale del nome del pezzo stesso nella lingua inglese (K significa «King» ossia il re bianco, k significa «king» ossia il re nero, ecc.); volendo utilizzare le iniziali dei nomi nella lingua italiana è necessario utilizzare l'elemento fenitimg.
Nel listato 4.24 vengono presentati due esempi di incorporazione nell'ambito degli elementi fenimg e fenitimg rispettivamente; corrispondentemente, la figura 4.25 illustra l'aspetto finale delle immagini in relazione al codice presentato.
Listato 4.24. Codice incorporato FEN.
|
Figura 4.25. Codice incorporato FEN: nel primo diagramma i pezzi sono stati indicati secondo la denominazione in lingua inglese, nel secondo diagramma secondo la denominazione italiana.
|
L'elemento sanimg permette di definire una posizione sulla scacchiera come risultato di una serie di mosse a partire dalla posizione iniziale, espresse mediante la notazione algebrica standard (SAN ovvero Standard Algebraic Notation). Nella notazione SAN i pezzi vengono indicati mediante singole lettere che in pratica costituiscono l'iniziale del nome del pezzo stesso nella lingua inglese; volendo utilizzare le iniziali dei nomi nella lingua italiana è necessario utilizzare l'elemento sanitimg.
Nel listato 4.26 vengono presentati due esempi di incorporazione nell'ambito degli elementi sanimg e sanitimg rispettivamente; corrispondentemente, la figura 4.27 illustra l'aspetto finale delle immagini in relazione al codice presentato.
Listato 4.26. Codice incorporato SAN: partita svoltasi a Belgrado, il 4 novembre 1992, fra Bobby Fischer e Boris Spassky.
|
Figura 4.27. Codice incorporato SAN: nel primo diagramma i pezzi sono stati indicati secondo la denominazione in lingua inglese, nel secondo diagramma secondo la denominazione italiana.
|
Per esigenze più sofisticate di illustrazione scacchistica si può utilizzare l'elemento skakimg: tale elemento consente di indicare situazioni scacchistiche di una certa complessità, comprese annotazioni grafiche sulla scacchiera, mediante i comandi definiti in TeX-Skak, un pacchetto per scrivere di scacchi in LaTeX.
Nel listato 4.28 viene presentato un esempio di incorporazione nell'ambito dell'elemento skakimg; corrispondentemente, la figura 4.29 illustra l'aspetto finale dell'immagine in relazione al codice presentato.
Listato 4.28. Codice incorporato TeX-Skak.
|
Figura 4.29. Codice incorporato TeX-Skak.
|
È possibile incorporare codice per tracciare grafici e diagrammi strutturati di vario genere attraverso l'elemento jgraphimg, descrivendo l'immagine desiderata nel linguaggio di input del programma Jgraph.
Nel listato 4.30 viene presentato un esempio di incorporazione nell'ambito dell'elemento jgraphimg; corrispondentemente, la figura 4.31 illustra l'aspetto finale dell'immagine in relazione al codice presentato.
Listato 4.30. Codice incorporato Jgraph.
|
Figura 4.31. Codice incorporato Jgraph.
|
Algebraic chess notation
Forsyth-Edwards Notation
Informatica per sopravvivere 2006.02.19 --- Copyright © 2004-2006 Massimo Piai -- <pxam67 (ad) virgilio·it>
1) GNU Plotutils GNU GPL
Dovrebbe essere possibile fare riferimento a questa pagina anche con il nome alml_estensioni_pxam.html
[successivo] [precedente] [inizio] [fine] [indice generale] [indice analitico]