30 关于l3keys是否对于\l_keys_key_str的作用域有更新的问题?

发布于 2025-04-03 23:02:09

在的@u10508 的一份l3keys(2023-10)的讲义中(在上述链接下方的"赠品",作者用心了♥),其中给了下面一个例子:

image.png

但我在TL2025如下MWE,在\keys_set:nn外部使用\l_keys_key_str似乎发现为空值?

\documentclass{ctexart}
\usepackage[margin=1in]{geometry}
\setlength{\parindent}{0pt}
\begin{document}
\ExplSyntaxOn
\keys_define:nn { module }
{
    key-a .code:n = {value={#1}\par~\texttt{\char92 l_keys_key_str}~is~{\tl_use:N \l_keys_value_tl}} ,
    subset / key-a .code:n = {#1}
}
\keys_set:nn { module } { key-a = value-1 }
\par \fbox{ \tl_use:N \l_keys_value_tl} 
% 将会得到: key-a
\end{document}

image.png

哪里有问题呢...

image.png

image.png

后记

在原版的interface3中并无“最后”那一段关于“当前键”的介绍。我没有这份l3-note的源码,但既然截图中tcblistings却编译出正确的结果,这就有点奇怪了...

查看更多

关注者
0
被浏览
151
雾月
雾月 3天前
这家伙很懒,什么也没写!

这三个命令在文档中说的是可以用在处理键的代码中,在其它地方使用显然是未定义行为。包括那些 undocumented 命令,都由使用者自己负责。

1 个回答

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览