假设我已将常量定义\valueA
为
\def\valueA{25 2 sqrt sqrt mul }
我想用 2 的平方根除这个值,所以我尝试
\pstFPdiv\valueB{\valueA}{2 sqrt}
但这不是有效的符号。将常数定义\valueB
为\valueA
/sqrt(2) 的正确方法是什么?
答案1
定义的常量可以在 TeX 世界和 PS 世界中使用。
\documentclass[pstricks,border=12pt]{standalone}
\SpecialCoor
\usepackage[nomessages]{fp}
% #1: (optional) the number of digits after decimal point, the default is 6
% #2: (mandatory) the name of variable to create
% #3: (mandatory) mathematics expression in infix form
\newcommand\const[3][6]{%
\edef\temporary{round(#3}%
\expandafter\FPeval\csname#2\expandafter\endcsname
\expandafter{\temporary:#1)}%
\pstVerb{/#2 \csname#2\endcsname\space def}%
}
\const{valueA}{3*root(root(2,2),2)}
\const{valueB}{valueA/root(2,2)}
\begin{document}
\begin{pspicture}[showgrid](10,10)
\rput(!valueA valueB){(\valueA,\valueB)}
\end{pspicture}
\end{document}
答案2
\valueA 2 sqrt div
一旦传递给 PS 解释器就会工作,所以如果我理解正确的话你只需要
\edef\valueB{\valueA 2 sqrt div }