質問

質問

PostScript 用に定義する定数とマクロがいくつかあります。

\pstVerb
{   
  /a {3} def
  /b {2} def
}

考えられる場所は3つあります。

  • 前文(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

常に少なくとも 2 文字の変数を使用するか、独自の辞書を使用します。

\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 すべてがローカルに保持されるため機能します。

関連情報