LaTeX 如何计算尺寸?

LaTeX 如何计算尺寸?

请考虑以下 MWE:

\documentclass{article}

\begin{document}
\makeatletter
\@tempdima9.5bp
\the\@tempdima\\
\@tempdimb=1bp\relax
\@tempdima9.5\@tempdimb
\the\@tempdima
\end{document}

打印

9.53561pt
9.5355pt

这是为什么?

编辑和后续问题:有没有办法可以安全地预测这种定点乘法的“不精确”程度?

答案1

数值计算从来都不精确。TeX 进行定点(而非浮点)运算,dimen 寄存器只是 中解释的整数sp。这意味着较小的值存储时相对精度较低。

使用 10 而不是 9.5 更容易看出:

1. 在此处输入图片描述

\documentclass{article}

\begin{document}
\makeatletter
\@tempdima10bp
\the\@tempdima

\@tempdimb=1bp\relax
\phantom{0}\the\@tempdimb

\@tempdima10\@tempdimb
\the\@tempdima

\end{document}

相关内容