comando pic

Propósito

Pré-processa a entrada do comando troff para o propósito de desenhar figuras

Sintaxe

pic [ -T Nome ] [ - | Arquivo ...]

Descrição

O comando pic é um pré-processador de comando troff para desenhar figuras simples em um digitador. Os objetos básicos são uma caixa, círculo, elipse, linha, spline, seta, arco e o texto especificado pela variável Texto . O objeto de nível superior é a figura.

Item Descrição
Arquivo Especifica a saída de um comando troff que é processado pelo comando pic para desenhar figuras.
Imagens
O objeto de nível superior no comando pic é a figura

.PS OptionalWidth OptionalHeight

ElementList

.PE

Se a macro .PF for usada em vez da macro .PE , a posição após a impressão será restaurada para o que ela era na entrada.

Item Descrição
OptionalWidth Especifica a largura da figura (em polegadas), se presente, independentemente de quaisquer dimensões utilizadas internamente. O valor máximo é 8.5.
OptionalHeight Especifica um valor de altura, em polegadas, diferente da inadimplência, que é escalonado para a mesma proporção. O valor máximo é de 14.
ElementList Representa a seguinte lista de elementos:
Shape AttributeList
instrução for
Placename: Elemento 
instrução if
Placename: Posição 
Instrução de Có 
Variável = Expressão
Instrução de impressão 
Direção
Instrução do Tr 
{ List of Elements }
sh X Mandline X
[ List of Elements ]
troff-comando

Os nomes de variáveis começam com uma letra minúsula, seguida de zero ou mais letras ou números. Os nomes de lugar começam com uma letra maiúsula, seguida de zero ou mais letras ou números. Local e nomes de variáveis retêm seus valores de uma foto para a outra.

Os elementos em uma lista devem ser separados por caracteres de nova linha ou; (ponto e vírgula); um elemento longo pode ser continuado terminando a linha com uma \ (barra invertida). Os comentários são introduzidos por um caractere # e terminados por um caractere de nova linha.

Primitives
Os objetos primitivos são os seguintes:

box

circle

ellipse

arc

line

arrow

spline

move

Texto-Lista

O objeto arrow é igual ao objeto line com o atributo -> .

Atributos
Um elemento AttributeList é uma sequência de zero ou mais atributos; cada atributo consiste em uma palavra-chave, seguida por um valor.
Tabela 1. Atributos
Atributo Atributo
h(eigh)t Expressão wid(th) Expressão
rad(ius) Expressão diam(eter) Expressão
up OptionalExpression down OptionalExpression
right OptionalExpression left OptionalExpression
from Posição to Posição
at Posição with Canto
by Expressão, Expressão then
dotted OptionalExpression dashed OptionalExpression
chop OptionalExpression -> <- <->
invis same
Texto-lista  

Os atributos e valores ausentes são concluídos a partir de padrões Nem todos os atributos fazem sentido para todos os primitivos; os irrelevantes não são processados. A seguir estão os atributos significativos atualmente:

Item Descrição
Primitives Attributes
box h(eigh)t, wid(th), at, same, dotted, dashed, invis, Texto
circle, ellipse rad(ius), diam(eter), h(eigh)t, wid(th), at, same, invis, Texto
arc up, down, left, right, h(eigh)t, wid(th), from, toe at, rad(ius),, invis, ccw, cw, <-, ->, <->, Texto
line, arrow up, down, left, right, h(eigh)t, wid(th), from, to, by, then, at, same, dotted, dashed, invis, <-, ->, <->, Texto
spline up, down, left, right, h(eigh)t, wid(th), from, toe by, then,, at, same, invis, <-, ->, <->, Texto
move up, down, left, right, to, by, same, Texto
Lista de texto at, Item de texto

O atributo at implica em colocar o centro geométrico no local especificado Para linhas, divisões e arcos, os atributos h(eigh)t e wid(th) se referem ao tamanho da ponta da seta.

A variável Texto-item é geralmente um atributo de algum primitivo; por padrão, ele é colocado no centro geométrico do objeto. O texto independente também é permitido. Um primitivo Texto-lista é uma lista de itens de texto; um item de texto é uma sequência cotada opcionalmente seguida por uma solicitação de posicionamento, da seguinte forma:

"..."

"..." center

"..." ljust

"..." rjust

"..." above

"..." below

Se houver vários itens de texto para alguns primitivos, eles são centrados verticalmente, exceto como qualificados. Os pedidos de posicionamento se aplicam a cada item de forma independente.

Os itens de texto podem conter comandos troff que controlam, por exemplo, mudanças de tamanho e fonte e movimentos locais. Certifique-se de que esses comandos sejam balanceados para que o estado de entrada seja restaurado antes de sair..

Item Descrição
Positions/Places Uma posição é afinal um par de coordenadas X, Y , mas também pode ser especificado das seguintes formas:

Posição

( Posição )

Expressão, Expressão

(Posição ) [+/- (Expressão, Expressão)]

( Posição ) [+/- Expressão, Expressão]

( Place1, Place2 )

( Place1.X, Place2.Y)

Expressão < Posição >

Expressão [of the way] between Posição and Posição

Nome do local [Corner ]

Nome do local da esquina

Here

Canto of Enésimo Forma

Forma de Nela [Corner]

Nota: Uma variável Corner designa um dos oito pontos de compasso ou o centro, início ou fim de um primitivo, da seguinte forma:

.n .e .w .s .ne .se .nw .sw

.t .b .r .l

c .start .end

Cada objeto em uma figura tem um número ordinal; Nês refere-se a isso, da seguinte forma:

  • Nês
  • Nês último

O comando pic é flexível o suficiente para aceitar nomes como 1th e 3th O uso como 1st e 3st também é aceito.

Variáveis

As variáveis embutidas e seus valores padrão são os seguintes:

Tabela 2.. Variáveis integradas
Item Descrição
boxwid 0.75
boxht 0.5
circlerad 0.25
arcrad 0.25
ellipsewid 0.75
ellipseht 0.5
linewid 0.5
lineht 0.5
movewid 0.5
moveht 0.5
arrowwid 0.05
arrowht 0.1
textwid 0
textht 0
dashwid 0.5
scale 1

Esses valores padrão podem ser alterados a qualquer momento, e os novos valores permanecem em vigor a partir de imagem até a imagem até alterada novamente.

As variáveis textht e textwid podem ser configuradas com qualquer valor para controlar o posicionamento. A largura e a altura da imagem gerada podem ser configuradas independentemente da linha da macro .PS . As variáveis alteradas dentro do delimitador [(colchete esquerdo) e do delimitador] (colchete direito) revertem para seu valor anterior na saída do bloco. As dimensões são divididas por scale durante a saída
Nota: O comando pic tem uma limitação de oito polegadas por oito polegadas em tamanhos de imagem que são gerados e enviados para o comando troff , mesmo quando a linha .ps (tamanho) especifica um tamanho maior que oito polegadas...
expressões

As expressões de comando pic a seguir são avaliadas em ponto flutuante Todos os números que representam dimensões são levados para estar em polegadas.

Expressão + Expressão

Expressão - Expressão

Expressão / Expressão

Expressão * Expressão

Expressão % Expressão (modulus)

- Expressão

( Expressão )

variable

number

Colocar .x

Colocar .y

Colocar .ht

Colocar .wid

Colocar .rad

sin(Expressão) cos(Expressão) atan2(Expressão, Expressão) log(Expressão) sqrt(Expressão) int(Expressão) max(Expressão, Expressão) min(Expressão, Expressão) rand(Expressão).

Operadores lógicos

O comando pic fornece os operadores a seguir para avaliação lógica:

Tabela 3.. Operadores lógicos
Item Descrição
! Não
> Maior que
< Menor que
>/= Maior que ou igual a
</= Menor que ou igual a
&& E
| Ou
== Igual a
!= Diferente de
Definições

A seguinte instrução define não faz parte da gramática:

define Nome X Texto de substituição X

Ocorrências de valores como $1 e $2 na variável Texto de substituição serão substituídas pelas opções correspondentes se a variável Name for chamada, conforme a seguir:

Nome(Option1, Option2, ...)

Opções não existentes são substituídas por cadeias nulas. A variável Texto de substituição pode conter caracteres de nova linha.

copiar e copiar através de Instruções

A instrução copy inclui dados de um arquivo ou valores que seguem imediatamente, como:

copy File
copy thru Macro
copy File thru Macro
copy File thru Macro until String

O valor do parâmetro Macro pode ser o nome de uma macro definida ou o corpo de uma macro que está incluída em algum caractere que não faz parte do corpo. Se nenhum nome de arquivo for fornecido, a instrução copy copiará a entrada até a próxima linha da macro .PE

para Loops e Instruções if

As instruções for e if fornecem loops e tomada de decisão, como a seguir:

Variable=Expression to Expression by Expression do X anything X
if Expression then X anything X else X anything X

As cláusulas by e else são opcionais.. A variável Expression em uma instrução if pode usar os operadores relacionais habituais ou os testes de sequência String1 == (ou !=) String2 .

Informações gerais

O comando sh executa uma linha de comandos, conforme a seguir::

sh X Commandline X

É possível traçar o valor de uma expressão, da seguinte forma:

plot Expression OptionalFormat Attributes

O valor da variável Expression é avaliado e convertido em uma cadeia (que usa a especificação de formato, se fornecida)..

O estado do modo de preenchimento ou de não preenchimento é preservado em relação às imagens

Os números de entrada podem ser expressos na notação E (exponencial).

Sinalizações

Tabela 4.. sinalizadores
Item Descrição
-TNome Prepara a saída para o dispositivo de impressão especificado. Os valores possíveis para Nome são:
ibm3812
3812 Impressora de páginas.
ibm3816
3816 Impressora de páginas.
hplj
Hewlett-Packard LaserJet II.
ibm5587G
5587-G01 Suporte a idiomas de vários bytes da impressora Kanji.
psc
Impressora PostScript .
X100
AIXwindows exibição.
X100K
AIXwindows display para suporte de caracteres multi-byte.

O padrão é ibm3816..

Nota: É possível configurar a variável de ambiente TYPESETTER para um dos valores anteriores em vez de usar a sinalização -T Name do comando troff .
- Reverte para entrada padrão.