如何建立新的轉換運算子?

如何建立新的轉換運算子?

以下簡單範例說明了我建立轉換運算子ptcm( ptto cm) 的目標。不幸的是,它在 TeX 世界中產生錯誤,而不是在 PS 世界中。

\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因為@不是字母。

Beamer 將框架主體讀取為巨集參數,因此您需要將其放在\makeatletter框架之前。

相關內容