我怎样才能防止我的标签被反射?

我怎样才能防止我的标签被反射?

左边的三角形是右边的三角形以它们之间的垂直线为镜像。

我只想反映几何对象和标签位置(但不包括其标签)。如何才能防止左三角形的标签被反映?

\documentclass[pstricks,border=12pt,12pt]{standalone}
\usepackage{pst-node}

\def\Right#1{%
    \pnodes(1,1){#11}(3,1){#12}(1,4){#13}
    \pspolygon(#11)(#12)(#13)
    \uput[180](#11){A}
    \uput[0](#12){B}
    \uput[180](#13){C}
}
\begin{document}
\begin{pspicture}(-4,0)(4,5)
    \Right{A}
    \psscalebox{-1 1}{\Right{B}}
\end{pspicture}
\end{document}

在此处输入图片描述

我想要得到的输出如下。

在此处输入图片描述

笔记

请不要建议我通过为每个对象定义单独的宏来分离左右对象,因为我的实际场景需要反射技术,而且我也想采用 DRY 原则(不要重复自己!)。

编辑

我尝试了以下

\rput{*0}(!N-#11.x .3 sub N-#11.y){A}
\rput{*0}(!N-#12.x .3 add N-#12.y){B}
\rput{*0}(!N-#13.x .3 sub N-#13.y){C}

但这没有帮助。

我也尝试了以下方法,但没有帮助。

\documentclass[pstricks,border=12pt,12pt]{standalone}
\usepackage{pst-node}
%\psset{saveNodeCoors}
\def\Right#1{%
    \pnodes(1,1){#11}(3,1){#12}(1,4){#13}
    \pspolygon(#11)(#12)(#13)
    %\rput{*0}(!N-#11.x .3 sub N-#11.y){A}
    %\rput{*0}(!N-#12.x .3 add N-#12.y){B}
    %\rput{*0}(!N-#13.x .3 sub N-#13.y){C}
    \uput[180](#11){A}
    \uput[0](#12){B}
    \uput[180](#13){C}
}
\begin{document}
\begin{pspicture}(-4,0)(4,5)
    \Right{A}
    \pscustom
    {
        \code{-1 1 scale}
        \Right{B}
    }
\end{pspicture}
\end{document}

答案1

\documentclass[pstricks,border=12pt,12pt]{standalone}
\usepackage{pst-node}

\newcommand\Right[2][1 1]{%
  \psscalebox{#1}{%
    \pnodes(1,1){#21}(3,1){#22}(1,4){#23}%
    \pspolygon(#21)(#22)(#23)%
    \uput[180](#21){\psscalebox{#1}{A}}%
    \uput[0](#22){\psscalebox{#1}{B}}%
    \uput[180](#23){\psscalebox{#1}{C}}%
}}
\begin{document}
\begin{pspicture}(-4,0)(4,5)
    \Right{A}
    \Right[-1 1]{B}
\end{pspicture}
\end{document}

相关内容