使用不带中间变量的 \widthof

使用不带中间变量的 \widthof

我知道如何使用 calc 包获取 LaTeX 中字母 x 的宽度(以 pt 或 sp 为单位):

\newlength{\xwidth}%
\setlength{\xwidth}{\widthof{x}}%
\the\xwidth{}, \number\xwidth sp.%

作为一名 C 黑客,我的方法是:

%\number\widthof{x}

因为在我看来,\number需要一个长度类型的参数,\widthof提供一个,所以我不需要像\xwidthLaTeX 那样的中间变量。我想知道为什么这不起作用。

答案1

不,\widthof{x}不返回长度。如果你尝试从终端

latexdef -s -p calc \widthof

你会得到意想不到的答案

% calc.sty, line 118:
\let\widthof\ignorespaces

calc包重新定义\setlength,以便它可以解析表达式,其中\widthof和类似的命令充当涉及框创建和测量的后续计算的标记。

如果你想测量单个字符,x你可以使用可扩展的

\fontcharwd\font`x

例如,当前字体中“x”的宽度,以表示缩放点的整数表示,您可以这样做

\number\fontcharwd\font`x

对于点的长度,只需执行

\the\fontcharwd\font`x

相关内容