다음의 간단한 예에서는 변환 연산자 ptcm
( pt
to cm
)를 생성하려는 목표를 보여줍니다. 불행하게도 PS 세계가 아닌 TeX 세계에서는 오류가 발생합니다.
\documentclass{beamer}
\usepackage{pstricks}
\usepackage[active,tightpage]{preview}
\PreviewEnvironment{pspicture}
\PreviewBorder=12pt
\SpecialCoor
\begin{document}
\begin{frame}
\begin{pspicture}[showgrid=top](4,4)
\makeatletter
\pstVerb{/ptcm {\pst@number\psunit\space div} bind def}
\makeatother
\psline(!4 12 ptcm sub 0)
\end{pspicture}
\end{frame}
\end{document}
오류 메시지는 다음과 같습니다.
! Undefined control sequence.
<argument> /ptcm {\pst
@number\psunit \space div} bind def
l.17 \end{frame}
?
! Emergency stop.
<argument> /ptcm {\pst
@number\psunit \space div} bind def
l.17 \end{frame}
새로운 변환 연산자를 만드는 방법은 무엇입니까?
답변1
<argument> /ptcm {\pst
@number\psunit \space div} bind def
가 문자가 아니기 때문에 \pst@number
구문 분석되었음을 보여줍니다 .\pst @number
@
\makeatletter
Beamer는 프레임 본체를 매크로 인수로 읽으므로 프레임 앞에 넣어야 합니다 .