- 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:
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::
É 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).