Can \uput mimic \rput when they enclose a non-zero dimensional object?

Zero-dimensional objects

For zero dimensional objects, \uput can mimic \rput as illustrated in the following example.

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


Non-zero dimensional objects

The following is my attempt to mimic \rput with \uput. Unfortunately, I failed and gave up! I cannot move the center of \object to (2,3) when using \uput while I can do it with \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}


Do you have any idea?

-
In my mental model, \uput should be superior compared to \rput. – kiss my armpit Feb 19 '13 at 17:26

No. It is not possible in general and makes no sense from the definition.

To mimic \rput{0}(2,3){\object} with \uput{<labelsep>}[<direction angle>]{0}(2,3){\object} is not possible by adjusting the <labelsep> and <direction angle>.

But one of the possible special cases is,

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

-
I want to discuss the case in which \rput uses its default node reference at its center. Can \uput mimic \rput in this case? – kiss my armpit Feb 19 '13 at 17:48
Sorry, I do not understand your problem. If \uput could be the same as \rputthen we had not define it ... – Herbert Feb 19 '13 at 17:57
Shortly speaking, how to setup the <labelsep> and <direction angle> for \uput{<labelsep>}[<direction angle>]{0}(2,3){\object} to produce the same result as \rput{0}(2,3){\object}? – kiss my armpit Feb 19 '13 at 18:00
I think the current implementation of <labelsep> does not accept a negative value so we cannot move in opposite direction. – kiss my armpit Feb 19 '13 at 18:18
no, that is not possible and makes no sense from the definition – Herbert Feb 19 '13 at 18:43

Just for adding extra information to the accepted answer. I just knew it several seconds ago.

\nput (instead of \uput) can mimic what \rput does for the non-zero dimensional objects (the second case in the question).

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

-