零维物体
对于零维物体,\uput
可以\rput
按照以下示例进行模仿。
\documentclass[pstricks,border=12pt]{standalone}
\begin{document}
\begin{pspicture}[showgrid=bottom](6,6)
% the first angle in [] will be ignored when the labelsep = 0.
\uput{0}[0]{0}(2,3){\pscircle(1,1){1}}
\uput{0}[45]{45}(2,3){\pscircle[linecolor=red](1,1){1}}
\uput{0}[90]{90}(2,3){\pscircle[linecolor=blue](1,1){1}}
\end{pspicture}
\begin{pspicture}[showgrid=bottom](6,6)
\rput{0}(2,3){\pscircle(1,1){1}}
\rput{45}(2,3){\pscircle[linecolor=red](1,1){1}}
\rput{90}(2,3){\pscircle[linecolor=blue](1,1){1}}
\end{pspicture}
\end{document}
非零维物体
以下是我尝试用 模仿\rput
。不幸的是,我失败了,放弃了!使用 时\uput
我无法将 的中心移动\object
到,而使用 可以做到这一点。(2,3)
\uput
\rput
\documentclass[pstricks,border=12pt]{standalone}
\newcommand\object[1][black]{%
\pspicture(3,2)
\psframe*[linecolor=#1](3,2)
\endpspicture
}
\begin{document}
\begin{pspicture}[showgrid=bottom](6,6)
\uput{0}[0]{0}(2,3){\object}
\uput{1.5}[0]{0}(2,3){\object[yellow]}
\uput{-1.5}[0]{0}(2,3){\object[blue]}
\end{pspicture}
\begin{pspicture}[showgrid=bottom](6,6)
\rput{0}(2,3){\object}
\end{pspicture}
\end{document}
你有什么主意吗?
答案1
不可以。一般来说这是不可能的,而且从定义上来说也没有意义。
无法通过调整和\rput{0}(2,3){\object}
来模仿。\uput{<labelsep>}[<direction angle>]{0}(2,3){\object}
<labelsep>
<direction angle>
但可能存在一种特殊情况,
\begin{pspicture}[showgrid=bottom](6,6)
\uput{0}[0](2,3){\object}
\end{pspicture}
\begin{pspicture}[showgrid=bottom](6,6)
\rput[l]{0}(2,3){\object}
\end{pspicture}
答案2
只是为了向已接受的答案添加额外的信息。我几秒钟前才知道。
\nput
(而不是\uput
)可以模仿\rput
非零维对象的作用(问题中的第二种情况)。
\documentclass[pstricks,border=12pt]{standalone}
\usepackage{pst-node}
\newcommand\object[1][black]{%
\pspicture(3,2)
\psframe*[linecolor=#1](3,2)
\endpspicture
}
\begin{document}
\begin{pspicture}[showgrid=bottom](6,6)
\pnode(2,3){A}
\nput[rot=0,labelsep=-1.5]{0}{A}{\object[blue]}
\end{pspicture}
\begin{pspicture}[showgrid=bottom](6,6)
\rput{0}(2,3){\object}
\end{pspicture}
\end{document}