布局包中的打印长度不准确?

布局包中的打印长度不准确?

来自布局包装手册(第 3 和 4 页):

The textwidth is \printinunitsof{pt}\prntlen{\textwidth} which is also \printinunitsof{in}\prntlen{\textwidth} or \printinunitsof{mm}\prntlen{\textwidth}.
打印出来:
文本宽度为 433.62pt,也就是 6.00117in 或 152.39821mm。

但是 1 英寸 = 25.4 毫米,所以 6.00117 英寸应该等于 152.429718 毫米。我在目前正在准备的一份文件中也注意到了这种不准确性。
手册示例中提供的小数位数似乎意味着精度很高,但实践似乎表明并非如此。
我是不是看错了/做错了什么?
如果没有,打印的长度有多准确?

答案1

中的浮点计算layouts基于 TeX 的维度算法,并不十分准确。

使用 的浮点模块可以获得更好的结果expl3。仍然不能精确到小数点后五位,但比 的较粗略结果要好得多layouts

\documentclass{article}
\usepackage{layouts}

\usepackage{xparse}
\ExplSyntaxOn
\RenewDocumentCommand{\prntlen}{m}
 {
  \dim_to_decimal_in_unit:nn { #1 } { 1\use:c {l@yunits} } \, \use:c{l@yunits}
 }
\ExplSyntaxOff

\setlength{\textwidth}{6in}

\begin{document}

The textwidth is \printinunitsof{pt}\prntlen{\textwidth}
which is also \printinunitsof{in}\prntlen{\textwidth} or
\printinunitsof{mm}\prntlen{\textwidth}.

\end{document}

在此处输入图片描述

相关内容