Tengo algunas constantes y macros que definir para PostScript.
\pstVerb
{
/a {3} def
/b {2} def
}
Hay tres lugares posibles:
- En el preámbulo (A).
- Dentro
document
pero fuerapspicture
(B). - Cª
pspicture
).
\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 las opciones A y B, obtuve espacios en blanco innecesarios de la siguiente manera.
Pero para la opción 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}
los espacios en blanco ya no salen.
Pregunta
¿Dónde deberíamos utilizar \pstVerb
?
Respuesta1
Puedes usarlo donde quieras, pero debes prestar atención a no sobrescribir las definiciones existentes. /a
y /b
ya están definidos de varias maneras para funciones internas.
Utilice siempre variables con al menos dos letras o utilice un diccionario propio:
\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
contiene todos los locales.