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


Sezione 19.   Interfaccia verso *roff

L'output di Pic è costituito da comandi grafici per *roff.(1)

19.1   Argomenti per variare la scala

DWB Pic accetta uno oppure due argomenti di seguito alla macro .PS; essi vengono interpretati come larghezza e altezza(2) a cui va scalato il risultato dell'elaborazione di Pic.

GNU Gpic è meno flessibile: accetta solamente la larghezza finale a cui scalare l'immagine, oppure uno zero seguito dall'altezza massima a cui scalare; con due argomenti non nulli scalerà all'altezza massima.

19.2   Gestione della variazione di scala

Quando Pic elabora una descrizione proveniente dall'input, poi passa .PS e .PE al postprocessore. A .PS vengono aggiunti un paio di valori numerici, ossia le dimensioni della figura.(3) Il postprocessore utilizza tali valori per riservare abbastanza spazio per la figura e centrarla.

La realizzazione GNU del pacchetto di macro s, ad esempio, include la definizione di cui al listato 19.1.

Listato 19.1. La definizione della macro .PS nel pacchetto di macro Groff s.

.\" ****************************
.\" ******** module pic ********
.\" ****************************
.\" Pic support.
.\" PS height width
.de PS
.br
.sp \\n[DD]u
.ie \\n[.$]<2 .@error bad arguments to PS (not preprocessed with pic?)
.el \{\
.       ds@need (u;\\$1)+1v
.       in +(u;\\n[.l]-\\n[.i]-\\$2/2>?0)
.\}
.HTML-IMAGE
..

C'è una definizione equivalente nel pacchetto di macro pic, utilizzabile mediante l'opzione -mpic; ciò permette di usare anche pacchetti diversi da s.

Se si utilizza .PF al posto di .PE, Troff reimposta la posizione allo stato precedente all'inizio della figura.(4)

La scrittura seguente:

.PS <file

fa sì che il contenuto di file vada a sostituire la riga stessa.

Trattasi di una funzionalità deprecata. Si consiglia, invece, di utilizzare copy file (v. sezione 17.1).

Per difetto, le righe in input che iniziano con un punto (.) vengono passate al postprocessore, nella corrispondente posizione dell'output.

«Giocare» con le spaziature, sia orizzontali che verticali, è una probabile fonte di errori, mentre cambiare le dimensioni dei punti e le fonti di solito non comporta problemi. Analogamente è di solito innocuo un cambiamento di dimensioni o di fonte nelle stringhe, a patto di ripristinarle prima del termine della stringa.

Lo stato della campitura per *roff è persistente da figura a figura.


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


1) GNU Gpic si fonda su estensioni di tipo grafico presenti in Groff ma non in Troff.

2) In pollici. Le dimensioni sono indipendenti.

3) In pollici.

4) Kernighan (sezione 23) fa notare che la lettera «F» sta per flyback.


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

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

Valid ISO-HTML!

CSS validator!