질문

질문

PostScript에 대해 정의할 매크로뿐만 아니라 몇 가지 상수가 있습니다.

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

세 가지 가능한 장소가 있습니다:

  • 전문(A)에서.
  • 내부 document이지만 외부 pspicture(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}

옵션 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 .

관련 정보