![如何旋转标签使其基线与角平分线平行?](https://linux22.com/image/253359/%E5%A6%82%E4%BD%95%E6%97%8B%E8%BD%AC%E6%A0%87%E7%AD%BE%E4%BD%BF%E5%85%B6%E5%9F%BA%E7%BA%BF%E4%B8%8E%E8%A7%92%E5%B9%B3%E5%88%86%E7%BA%BF%E5%B9%B3%E8%A1%8C%EF%BC%9F.png)
如何逆时针旋转标签,使其基线与角平分线平行?
\documentclass[border=0pt,pstricks]{standalone}
\usepackage{pst-eucl}
\psset{PointName=none,PointSymbol=none}
\begin{document}
\begin{pspicture}[showgrid=false](6,6)
\pstGeonode[CurveType=polyline](1,1){A}(5,5){B}(4,1){C}
\pstBissectBAC[linestyle=dotted,linecolor=red]{A}{B}{C}{C'}
\pstMarkAngle[MarkAngleRadius=1.5,LabelSep=0.75]{A}{B}{C}{\tiny$180^\circ-\theta$}
\end{pspicture}
\end{document}
答案1
\documentclass[border=0pt,pstricks]{standalone}
\usepackage{pst-eucl}
\psset{PointName=none,PointSymbol=none}
\begin{document}
\begin{pspicture}[showgrid=false](6,6)
\pstGeonode[CurveType=polyline](1,1){A}(5,5){B}(4,1){C}
\pstBissectBAC[linestyle=dotted,linecolor=red]{A}{B}{C}{B'}
\pstMarkAngle[MarkAngleRadius=1.6,LabelSep=1]{A}{B}{C}{}
\pcline[linestyle=none](B')(B)\ncput[nrot=:U,npos=0.84]{\tiny$180^\circ-\theta$}
\end{pspicture}
\end{document}
不知道的情况下的解决方案B'
\documentclass{article}
\usepackage{pst-eucl}
\begin{document}
\begin{pspicture}[showgrid=false](6,6)
\pstGeonode[CurveType=polyline](1,1){A}(5,5){B}(4,1){C}
\pstMarkAngle[MarkAngleRadius=1.6,LabelSep=1]{A}{B}{C}{}
\pcline[linestyle=none](!
\psGetNodeCenter{A} \psGetNodeCenter{B} \psGetNodeCenter{C}
/LengthBA B.x A.x sub dup mul B.y A.y sub dup mul add sqrt def
/LengthBC C.x A.x sub dup mul C.y A.y sub dup mul add sqrt def
/Factor LengthBC LengthBA div def
A.x B.x sub Factor mul B.x add /A.x ED
A.y B.y sub Factor mul B.y add /A.y ED
A.x C.x add 2 div A.y C.y add 2 div )(B)\ncput[nrot=:U,npos=0.84]{\tiny$180^\circ-\theta$}
\end{pspicture}
\end{document}
答案2
尽管它不够优雅,但我还是得到了解决方案。
\documentclass[border=0pt,pstricks]{standalone}
\usepackage{pst-eucl}
\psset{PointName=none,PointSymbol=none}
\begin{document}
\begin{pspicture}[showgrid=false](6,6)
\pstGeonode[CurveType=polyline](1,1){A}(5,5){B}(4,1){C}
\pstMarkAngle[MarkAngleRadius=1.6,LabelSep=1]{A}{B}{C}{\rput{(B)}(0,0){\tiny$180^\circ-\theta$}}
\end{pspicture}
\end{document}
顺时针旋转:
\documentclass[border=0pt,pstricks]{standalone}
\usepackage{pst-eucl}
\psset{PointName=none,PointSymbol=none}
\begin{document}
\begin{pspicture}[showgrid=false](6,6)
\pstGeonode[CurveType=polyline](1,1){A}(5,5){B}(4,1){C}
\pstMarkAngle[MarkAngleRadius=1.6,LabelSep=1]{A}{B}{C}{\rput{!\psGetNodeCenter{B} B.y B.x atan 180 sub}(0,0){\tiny$180^\circ-\theta$}}
\end{pspicture}
\end{document}