有没有更简单的方法来获取下面显示的点状参考节点?
\documentclass[dvips,dvipsnames,rgb]{article}
\usepackage{pstricks,pst-node,graphicx}
\psset{framesep=0pt,linewidth=0.1pt}
\SpecialCoor
\newsavebox\mybox
\newenvironment{MyFrameBox}[4][8]{%BEGIN
\def\labeling##1##2{\qdisk(##1){0.2pt}\uput{#3}[##2](##1){\scalebox{#4}{##1}}}%
\def\scaling{%
\scalebox{#1}{%
\rnode[B]{B}{\rnode[c]{c}{\rnode[t]{t}{%
\rnode[tl]{tl}{\rnode[l]{l}{\rnode[Bl]{Bl}{%
\rnode[bl]{bl}{\rnode[b]{b}{\rnode[br]{br}{%
\rnode[Br]{Br}{\rnode[r]{r}{\rnode[tr]{tr}{%
\psframebox[linecolor=lightgray]{#2}}}}}}}}}}}}}%
\labeling{B}{135}\labeling{c}{45}%
\labeling{t}{90}\labeling{tl}{180}%
\labeling{l}{135}\labeling{Bl}{180}%
\labeling{bl}{-90}\labeling{b}{-90}%
\labeling{br}{-90}\labeling{Br}{0}%
\labeling{r}{0}\labeling{tr}{0}%
\psline[linecolor=lightgray](Bl)(Br)%
\usebox{\mybox}}}
\begin{lrbox}{\mybox}\ignorespaces}{%END
\end{lrbox}\scaling\ignorespacesafterend}
\begin{document}
\begin{MyFrameBox}[10]{\color{red}\rm\"Age}{0.5pt}{0.1}
\psset{arrowscale=0.25,arrows=<->}
\ncline[linecolor=blue]{t}{r}
\end{MyFrameBox}
\end{document}
答案1
\documentclass{article}
\usepackage{pst-node}
\def\DefNodes#1#2{\rnode[tl]{#1-tl}{\rnode[tr]{#1-tr}{%
\rnode[bl]{#1-bl}{\rnode[br]{#1-br}{#2}}}}}
\begin{document}
\psscalebox{10}{\DefNodes{Age}{\cyan Age}}%
\pspolygon[linecolor=red](Age-tl)(Age-tr)(Age-br)(Age-bl)%
\psline[linestyle=dashed,linecolor=red](Age-bl|0,0)(Age-br|0,0)%
\pcline[linestyle=none](Age-tl)(Age-tr)\ncput{\rnode{Age-tc}{\psdot}}%
\pcline[linestyle=none](Age-bl)(Age-br)\ncput{\rnode{Age-bc}{\psdot}}%
\pcline[linestyle=none](Age-bl)(Age-tl)\ncput{\rnode{Age-lc}{\psdot}}%
\pcline[linestyle=none](Age-br)(Age-tr)\ncput{\rnode{Age-rc}{\psdot}}%
\pcline[linestyle=none](Age-lc)(Age-rc)\ncput{\rnode{Age-C}{\psdot}}%
\psdots(Age-bl)(Abe-bl|0,0)(Age-tl)(Age-tr)(Agr-br|0,0)(Age-br)
\pcline[arrows=<->,linecolor=blue,arrowscale=1.25](Age-rb|0,0)(Age-tc)
\end{document}