请考虑红点的位置。
第一种情况
当我不激活时\pstVerb{/xxx 1 def}
,红点位于正确位置。
\documentclass[border=12pt]{standalone}
\usepackage{pst-eucl}
\addtopsstyle{gridstyle}{gridlabels=0,griddots=0}
\begin{document}
\begin{pspicture}[showgrid](2,2)
\pstGeonode{A}(1.5,0){B}(1.5,1.5){C}
\pstRightAngle[fillstyle=solid,fillcolor=green!50]{A}{B}{C}
%\pstVerb{/xxx 1 def}
\psdots[linecolor=red](1,1)
\end{pspicture}
\end{document}
第二种情况
当我激活时\pstVerb{/xxx 1 def}
,红点会偏离其正确位置。
\documentclass[border=12pt]{standalone}
\usepackage{pst-eucl}
\addtopsstyle{gridstyle}{gridlabels=0,griddots=0}
\begin{document}
\begin{pspicture}[showgrid](2,2)
\pstGeonode{A}(1.5,0){B}(1.5,1.5){C}
\pstRightAngle[fillstyle=solid,fillcolor=green!50]{A}{B}{C}
\pstVerb{/xxx 1 def}
\psdots[linecolor=red](1,1)
\end{pspicture}
\end{document}
第三种情况
当我将其附加到%
的末尾时\pstRightAngle[fillstyle=solid,fillcolor=green!50]{A}{B}{C}
,红点会返回到其正确位置。
\documentclass[border=12pt]{standalone}
\usepackage{pst-eucl}
\addtopsstyle{gridstyle}{gridlabels=0,griddots=0}
\begin{document}
\begin{pspicture}[showgrid](2,2)
\pstGeonode{A}(1.5,0){B}(1.5,1.5){C}
\pstRightAngle[fillstyle=solid,fillcolor=green!50]{A}{B}{C}%<== why do I need this comment?
\pstVerb{/xxx 1 def}
\psdots[linecolor=red](1,1)
\end{pspicture}
\end{document}
问题:
为什么我需要把它放在%
末尾\pstRightAngle[fillstyle=solid,fillcolor=green!50]{A}{B}{C}
而不是末尾\pstVerb{/xxx 1 def}
?这真的很令人困惑。
答案1
代码\ignorespaces
末尾缺少:\pstRightAngle
[...]
\fi\fi\fi}%
\egroup\ignorespaces%
}%
\pstVerb
也会给出一个空格,但下面的开头\psdots
有一个。因此,和都有一个尾随空格,但只有一个被下面的忽略\pst@killglue
\pstRightAngle
\pstVerb
\psdots