出于各种目的,我需要知道给定文本的宽度。最简单的方法是使用包\widthof{}
中的命令calc
。问题是我无法理解此命令使用的测量单位是什么。我期望它是pt
,但数字变得太大,不可能是那个。
例如,以下 MWE 将打印值 2081098:
\documentclass[11pt, a4paper]{article}
\usepackage{calc}
\newcounter{a}
\begin{document}
\setcounter{a}{\widthof{asdasd}}
\thea
\end{document}
包装文档未注明计量单位。
答案1
当你这样做
\documentclass[11pt]{article}
\newlength{\mylen}
\newcounter{a}
\begin{document}
\settowidth{\mylen}{asdasd}
\the\mylen
\setlength{\mylen}{\widthof{asdasd}}
\the\mylen
\end{document}
你得到
31.75504pt
31.75504pt
如果你添加
\setcounter{a}{\mylen}
\thea
你得到
2081098
因为
31.75504 * 65536 = 2081098.30144
TeX 会将其截断为整数。点数被强制转换为缩放点数 (65536sp = 1pt)。