\FPeval 中的 \widthof{} 命令

\FPeval 中的 \widthof{} 命令

有人能告诉我如何使用包中\widthof{}的命令吗?calc\FPevalfp

\documentclass[10pt]{article}
\usepackage{calc}
\usepackage{fp}
\begin{document}
\FPeval\result{(2.5-\widthof{13})/2}
\end{document}

即使使用\csnameand \value,或\arabic,仍然会导致错误。

答案1

\widthof包仅在和calc内部受支持。此外,包不处理尺寸,而是处理实数。提取长度/尺寸寄存器的数字并删除单位:\setlength\addtolengthfp\strip@ptpt

\documentclass[10pt]{article}
\usepackage{calc}
\usepackage{fp}
\newdimen\tempdimen
\begin{document}
\makeatletter
\setlength{\tempdimen}{\widthof{13}}
\FPeval\result{(2.5-\strip@pt\tempdimen)/2}
\makeatother
\typeout{Result: \result}
\end{document}

输出:

Result: -3.750015000000000000

相关内容