我找不到以下解释我的问题的文档。根据我的理解,如果\pnode(1,1){A}
那么\pscircle[origin={A}](A){1}
必须等于
\pscircle[origin={1,1}](A){1}
\pscircle[origin={A}](1,1){1}
\pscircle[origin={1,1}](1,1){1}
但是,我得到了以下与我上面的思维模型不同的结果。PSTricks 在处理节点和文字点时如何做出假设?
\documentclass[border=12pt]{standalone}
\usepackage{pst-node}
\psset{linecolor=red}
\def\xxx{\hspace{5mm}}
\begin{document}
\begin{pspicture}[showgrid=top](3,3)
\pnode(1,1){A}
\pscircle[origin={A}](A){1}
\end{pspicture}\xxx
\begin{pspicture}[showgrid=top](3,3)
\pnode(1,1){A}
\pscircle[origin={1,1}](A){1}
\end{pspicture}\xxx
\begin{pspicture}[showgrid=top](3,3)
\pnode(1,1){A}
\pscircle[origin={A}](1,1){1}
\end{pspicture}\xxx
\begin{pspicture}[showgrid=top](3,3)
\pscircle[origin={1,1}](1,1){1}
\end{pspicture}
\end{document}
答案1
origin={x,y}
相当于shift={(x,y)}
提供给 TikZ 中的范围或坐标系的局部移位:
\begin{tikzpicture}
\node (o) {O};
\begin{scope}[shift={(2,2)}]
\node (a) at (o) {A};
\end{scope}
\end{tikzpicture}
在这一个中,坐标系是否偏移并不重要。命令说将其放在名为 的节点上(o)
。因此不应用任何偏移。 也是一样origin={A}
。代码说偏移坐标系,但相同的代码说将其放在 的位置,A
因此最终效果是将圆心移动到{A}
。
\documentclass[border=12pt]{standalone}
\usepackage{pst-node}
\psset{linecolor=red}
\begin{document}
\begin{pspicture}[showgrid=top](5,3)
\pnode(2,1){A}
\pscircle[origin={1,1}](A){1} %<---- A is a fixed point, no effect via origin
\psdiamond[framearc=.3,fillstyle=solid, %<---- No fixed point, coords of A are
fillcolor=lightgray,origin={A}](3,0)(1.5,1) % added to the coordinate system
\pscircle[origin={1,1}](0,0){1} % Same here
\end{pspicture}
\end{document}