如何修复以下 LaTeX 代码,以便在稍后的 \FPEval 计算中正确使用“\RoundGrade{\codeA}”的结果?
\documentclass{standalone}
\usepackage{fp}
\newcommand{\RoundGrade}[1]{\FPiflt{#1}{1.15001}1.0\else1.3\fi}
\begin{document}
\FPeval{\codeA}{1.03}%
Rounded to \RoundGrade{\codeA}
\FPeval{\codeB}{+(\RoundGrade{\codeA},0)}
\end{document}
预期行为是,当 (pdf)LaTeX 编译器遇到“\end{document}”时,“\codeB”包含“1.0”。然而,代码当前产生的结果如下:
/path/to/texfile.tex:9: Undefined control sequence.
\FP@strip #1->{\edef \FP@tmp {#1}\edef \FP@tmpb
{}\ifx \FP@tmp \@empty \else...
l.9 \FPeval{\codeB}{+(\RoundGrade{\codeA},0)}
当将上述倒数第二行中的“\RoundGrade{\codeA}”替换为“1.0”时,文档可以编译。此外,值 1.0 会正确地打印在生成的文档中的倒数第三行中(注释掉倒数第二行时)。