如何分别获取当前点的横坐标和纵坐标?

如何分别获取当前点的横坐标和纵坐标?

考虑下面的代码。

\documentclass[pstricks,border=12pt]{standalone}
\SpecialCoor

\begin{document}
\begin{pspicture}[showgrid](-5,-5)(5,5)
    \pscustom
    {
        \psline(1,0)
        \rlineto(0,1)
        %\translate(!!CP.x 0) % does not work!
    }
\end{pspicture}
\end{document}

我想分别获取当前点的横坐标和纵坐标,如何做?

答案1

CP 实际上是两个元素的后记宏x y。您可以使用popexch pop分别访问它们。但是,这些值与 pstricks 坐标不在同一个坐标系中(例如(1,2)),因此需要进行一些转换。如下所示

\documentclass[pstricks,border=12pt]{standalone}
\SpecialCoor

\begin{document}
\makeatletter
\begin{pspicture}[showgrid](-5,-5)(5,5)
    \pscustom
    {
        \psline(1,0)
        \rlineto(1,1)
        \rlineto(!!CP pop -2 \pst@number\psyunit mul) %CP.x = 2 --> \rlineto(2,-2) 
        \rlineto(!!CP exch pop -1 \pst@number\psyunit mul) %CP.y = -1 --> \rlineto(-1,-1)
    }
\end{pspicture}
\end{document}

结果是: 在此处输入图片描述

相关内容