Tenho algumas constantes e também macros a serem definidas para PostScript.
\pstVerb
{
/a {3} def
/b {2} def
}
Existem três locais possíveis:
- No preâmbulo (A).
- Dentro
document
, mas forapspicture
(B). - Em
pspicture
(C).
\documentclass[border=15pt,pstricks]{standalone}
% A
\begin{document}
% B
\begin{pspicture}[showgrid](-4,-4)(4,4)
% C
\psellipse(0,0)(!a b)
\end{pspicture}
\end{document}
Para as opções A e B, obtive espaços em branco desnecessários como segue.
Mas para a opção C,
\documentclass[border=15pt,pstricks]{standalone}
\begin{document}
\begin{pspicture}[showgrid](-4,-4)(4,4)
\pstVerb
{ /a {3} def
/b {2} def
}%
\psellipse(0,0)(!a b)
\end{pspicture}
\end{document}
os espaços em branco não existem mais.
Pergunta
Onde devemos usar \pstVerb
?
Responder1
Você pode usá-lo onde quiser, mas deve prestar atenção para não sobrescrever as definições existentes. /a
e /b
já estão definidos de diversas maneiras para funções internas.
Utilize sempre variáveis com pelo menos duas letras ou utilize um dicionário próprio:
\documentclass[border=15pt,pstricks]{standalone}
\pstVerb{
/aA 3 def
/bB 2 def
}
\pstVerb{
/myDict 2 dict def % define a local dictionary with two variables
myDict begin
/a 3 def
/b 2 def
end
}
\begin{document}
\begin{pspicture}[showgrid](-4,-4)(4,4)
\psellipse(0,0)(! myDict begin a b end )
\psellipse(0,1)(! aA bB )
\end{pspicture}
\end{document}
Para C funciona porque pspicture
contém todos os locais.