在自定义命令的时候, 需要获取 #1 的长度, 以前是用 settowidth, 找了 interface3, 没有找到 LaTeX3 中对应的命令, 也可能是没看懂, 英文版毕竟费力, 感觉在 L3 中想要尽可能都同一个风格, 所以请教一下有没有类似的命令可以用?
\cs_new_protected:Npn \my_settowidth:Nn #1#2
{
\hbox_set:Nn \l_tmpa_box {#2}
\dim_set:Nn #1 { \box_wd:N \l_tmpa_box }
}
如果要保持 \l_tmpa_box
不变,可以
\cs_new_protected:Npn \my_settowidth:Nn #1#2
{
\group_begin:
\hbox_set:Nn \l_tmpa_box {#2}
\exp_args:NNNo \group_end:
\dim_set:Nn #1 { \dim_use:N \box_wd:N \l_tmpa_box }
}
非常感谢,原来是要用盒子.