Wie erstelle ich einen neuen Konvertierungsoperator?

Wie erstelle ich einen neuen Konvertierungsoperator?

Das folgende triviale Beispiel veranschaulicht mein Ziel, einen Konvertierungsoperator ptcm( ptin cm) zu erstellen. Leider erzeugt es in der TeX-Welt im Gegensatz zur PS-Welt Fehler.

\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}

Die Fehlermeldungen lauten:

! 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}

Wie erstelle ich einen neuen Konvertierungsoperator?

Antwort1

<argument> /ptcm {\pst 
                       @number\psunit \space div} bind def

zeigt Ihnen, dass die \pst@numberAnalyse „ \pst @numberweil“ @kein Buchstabe ist.

Beamer liest Frame-Körper als Makroargument, daher müssen Sie sie \makeatlettervor den Frame setzen.

verwandte Informationen