如何将 \pstVerb 中定义的常量作为 \rput 的最右边的参数传递?

如何将 \pstVerb 中定义的常量作为 \rput 的最右边的参数传递?
\documentclass[border=12pt]{standalone}
\usepackage{pstricks-add}

\def\i{1}

\begin{document}
    \begin{pspicture}(4,4)
        \pstVerb{/two \i\space 1 add def}
        \rput(2,2){<the value of two>}
    \end{pspicture}
\end{document}

如何将在中定义的常量\pstVerb作为的最右边的参数传递\rput

答案1

这对 dvips 做出了一些假设,可能但是:

在此处输入图片描述

\documentclass[border=12pt]{standalone}
\usepackage{pstricks-add}

\def\i{1}

\begin{document}
    \begin{pspicture}(4,4)
        \pstVerb{/two \i\space 1 add def}
        \rput(2,2){zzz \pstVerb{/Times-Roman findfont 100 scalefont 1 -1 scale setfont two 10 string cvs  show}}
    \end{pspicture}
\end{document} 

答案2

经过几个小时的努力,我\psPrintValuepst-tools 包中找到了一个隐藏的宏。

\documentclass[border=0pt]{standalone}
\usepackage{pstricks-add,pst-tools}

\def\i{1}

\begin{document}
    \begin{pspicture}(1,1)
        \pstVerb{/two \i\space 1 add def}
        \rput(0.5,0.5){2\psPrintValue{two}}
    \end{pspicture}
\end{document} 

在此处输入图片描述

但是,该字体与 TeX 中使用的字体不同。如果您有任何想法可以修复此问题,请编辑此答案。

编辑:使用times包来修复字体问题。

相关内容