第 3/7 页 fp 封装我们看到反正弦函数的定义如下:
\FParcsin#1#2 % #1 := arcsin(#2)
我们可能还记得高中时的情况: 。我使用包Arcsin(0.5)=pi/6= 0.524 around
得到的结果是 0。这对我来说很奇怪:Arcsin(0.5)
fp
\documentclass{article}
\usepackage{fp}
\begin{document}
\FPdiv\pidivsix \FPpi 6
\FParcsin \arcsinhalf 0.5 \\
\FParcsin \arcsinone 1
Arcsin$(1)=\arcsinone$.\\
Arcsin$(\frac{1}{2})=\arcsinhalf$.\\
This is a wrong answer the correct value is $\pidivsix$.
\end{document}
答案1
TeX 仅当满足以下条件时才会将数字字符串(带有可选的符号和可选的小数点或逗号)解释为十进制数:有即
当它寻找明确的维度时,在这种情况下表示十进制数的字符串必须后面跟着一个允许的单位。
不幸的是,文档以fp
所示形式呈现语法,因为它可能表明它与其他编程语言相似,在涉及数字时具有更高的宽容度。
由于 TeX 主要是一个排版程序,因此它不会扫描数字,除非有但这只能在使用原始命令时发生,而不是使用已定义的宏例如\FParcsin
。
该建议\FParcsin#1#2
意味着#1
和#2
是标准参数,因此应该用括号括起来(除非它们由单个标记组成)。所以
\FParcsin{\arcsinhalf}{0.5}
是正确的语法。这可以缩写为,\FParcsin\arcsinhalf{0.5}
因为第一个参数是单个标记。
您可以安全地输入\FParcsin\arcsinone1
,但最好遵循标准并输入\FParcsin\arcsinone{1}
,这样参数在视觉上也更清晰。
同样,你应该坚持
\FPdiv\pidivsix{\FPpi}{6}
出于同样的原因。代码\FPdiv\pidivsix \FPpi 6
可以工作,但如果你尝试计算 10 的 pi,
\FPdiv\pidivten \FPpi 10
肯定会不是工作,并且应该
\FPdiv\pidivten {\FPpi} {10}
或者
\FPdiv\pidivten{\FPpi}{10}
寻找参数时会忽略空格,因此您可以自由地满足自己的喜好。