如何确定 \textls 的宽度?\settowidth 不起作用

如何确定 \textls 的宽度?\settowidth 不起作用

使用,如何确定结果文本的宽度?这是一个不起作用的 MWE microtype\textls

\documentclass{article}

\usepackage[log-functions=false]{expl3}
\usepackage[log-declarations=false]{xparse}

\usepackage[stretch=10]{microtype}

\ExplSyntaxOn


\newcommand{\cftpartfont}[1]{\normalfont\textls*[80]{\uppercase{#1}}}

\newlength{\lswidth}

\settowidth{\lswidth}{\cftpartfont{VIII\space}}
\typeout{\the\lswidth}

\settowidth{\lswidth}{VIII\space}
\typeout{\the\lswidth}

\hbox_set:Nn \l_tmpa_box { \cftpartfont{VIII\space} }
\typeout{\the\box_wd:N \l_tmpa_box}

\show\show

\begin{document}
\end{document}

输出为:

22.22pt
22.22pt
22.22pt
> \show=\show.

该怎么办?

答案1

25.28894pt
22.22226pt
25.28894pt

只需移动\begin{document}

\documentclass{article}

\usepackage[log-functions=false]{expl3}
\usepackage[log-declarations=false]{xparse}

\usepackage[stretch=10]{microtype}

\begin{document}

\ExplSyntaxOn


\newcommand{\cftpartfont}[1]{\normalfont\textls*[80]{\uppercase{#1}}}

\newlength{\lswidth}

\settowidth{\lswidth}{\cftpartfont{VIII\space}}
\typeout{\the\lswidth}

\settowidth{\lswidth}{VIII\space}
\typeout{\the\lswidth}

\hbox_set:Nn \l_tmpa_box { \cftpartfont{VIII\space} }
\typeout{\the\box_wd:N \l_tmpa_box}

\show\show


\end{document}

相关内容