我有一些要為 PostScript 定義的常數和巨集。
\pstVerb
{
/a {3} def
/b {2} def
}
可能的地方有以下三個:
- 在序言(A)中。
- 在裡面
document
但在外面pspicture
(B)。 - 在
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}
對於選項 A 和 B,我得到了不必要的空格,如下所示。
但對於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}
空白不再存在。
問題
我們應該在哪裡使用\pstVerb
?
答案1
你可以在你想要的地方使用它,但你必須注意不要覆蓋現有的定義。/a
並且/b
已經以多種方式定義了內部函數。
始終使用至少有兩個字母的變數或使用自己的字典:
\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}
對於 C 來說它有效,因為pspicture
保存了所有本地內容。