\*cline
我想获取与 的假设边 相交的节点\ncput
。以下动画显示了我尝试通过反复试验的方法找到节点。
我需要节点,因为我想拥有 PNG 格式的透明背景,但是却\ncput*
无法实现。
\documentclass[pstricks,border=12pt,multi]{standalone}
\usepackage{pst-eucl,multido}
\begin{document}
\multido{\n=0.1+0.1}{10}{%
\begin{pspicture}[showgrid=false](2,2)
\pstGeonode
[
PosAngle={135,-45},
PointName={default,default,none},
PointSymbol={none}
]
(0,1){A}
(2,0){B}
([offset=15pt]{B}A){A'}
([offset=-15pt]{A}B){B'}
([nodesep=\n]{B'}A'){A''}
([nodesep=\n]{A'}B'){B''}
%
\psline(A)(B)
%
\bgroup
\psset{linestyle=dashed,dash=1pt 1pt,linecolor=red,linewidth=0.5\pslinewidth}
\psline(A)(A')
\psline(B)(B')
\egroup
%
\pcline{|<*-}(A')(A'')
\pcline{->|*}(B'')(B')
\ncline[linestyle=none]{A''}{B''}
\ncput[nrot=:0]{$\sqrt{5}$}
\end{pspicture}}
\end{document}
答案1
问题解决了!
现在,我可以获得 PNG 中的透明标签,如下所示。
\documentclass[pstricks,border=12pt,multi]{standalone}
\usepackage{pst-eucl}
\newcommand\ncputtransparent[4][1pt]{%
\ncline[linestyle=none]{#2}{#3}
\ncput[nrot=:0]{\psDefBoxNodes{obj}{#4}}
\pcline{|<*-}(#2)([nodesep=#1]{#2}obj:Cl)
\pcline{->|*}([nodesep=#1]{#3}obj:Cr)(#3)
}
\begin{document}
\begin{pspicture}[showgrid=false](2,2)
\pstGeonode
[
PosAngle={135,-45},
PointName={default,default,none},
PointSymbol={none}
]
(0,1){A}
(2,0){B}
([offset=15pt]{B}A){A'}
([offset=-15pt]{A}B){B'}
%
\psline(A)(B)
%
\bgroup
\psset{linestyle=dashed,dash=1pt 1pt,linecolor=red,linewidth=0.5\pslinewidth}
\psline(A)(A')
\psline(B)(B')
\egroup
\ncputtransparent[3pt]{A'}{B'}{$\sqrt5$}
\end{pspicture}
\end{document}
仅出于比较目的,以下代码使用了 opaque \ncput*
。您能看出区别吗?注意:我故意将图像括在引号标签中以强调 opaque 标签。
\documentclass[pstricks,border=12pt,multi]{standalone}
\usepackage{pst-eucl}
\begin{document}
\begin{pspicture}[showgrid=false](2,2)
\pstGeonode
[
PosAngle={135,-45},
PointName={default,default,none},
PointSymbol={none}
]
(0,1){A}
(2,0){B}
([offset=15pt]{B}A){A'}
([offset=-15pt]{A}B){B'}
%
\psline(A)(B)
%
\bgroup
\psset{linestyle=dashed,dash=1pt 1pt,linecolor=red,linewidth=0.5\pslinewidth}
\psline(A)(A')
\psline(B)(B')
\egroup
\pcline{|<*->|*}(A')(B')
\ncput*[nrot=:0]{$\sqrt5$}
\end{pspicture}
\end{document}