l3keys

使用 l3keys 中的现有值
l3keys

使用 l3keys 中的现有值

以下如何打印 Heime Borgia 405 Hilgard Ave Los Angeles California 90095 United States Likku Cirillu 409 Hilgard Ave 而不是 Heime Borgia 405 Hilgard Ave Los Angeles California 90095 United States Likku Cirillu 409 Hilgard Ave Los Angeles California 90095 United States 我希望第二次调用使用第一次调用中未设置的...

Admin

重置键值对
l3keys

重置键值对

我希望能够将的值重置adr_keys为空白值。我应该构建哪种类型的函数? 我将使用 \tl_if_blank:VF \l_dwlg_tl { \tl_use:N \l_dwlg_tl \\ } 通过检查值是否为空来打印值。 使用的问题initial在于这仅适用于第一次。而且使用default需要我提供名称并将其保留为空。 该命令\adrPrint将打印键值。对于第二次调用,\adrPrint我想使用前一次使用的值 \adrPrint。但是我需要重置第三次调用的所有值 \adrPrint \documentclass[a4paper,12pt]{arti...

Admin

使用 l3keys 将逗号传递给键值对
l3keys

使用 l3keys 将逗号传递给键值对

使用时如何将逗号传递给键值对l3keys?已插入双引号,但引号也会被打印出来,这是我不希望出现的情况。 \documentclass[a4paper,12pt]{article} \ExplSyntaxOn \keys_define:nn { adr_keys } { name .tl_set:N = \l_name_tl, vltw .tl_set:N = \l_vltw_tl, } \cs_new_protected:Nn \print_adr:n { \keys_set:nn { adr_keys } { #1...

Admin

重置星号版本的 l3key 值
l3keys

重置星号版本的 l3key 值

我真的不明白 的用途.initial:n。它只对第一次调用没有用户值的命令有用,之后将使用当前值。 希望带星号的版本在没有参数时始终使用初始值,仅使用键名时使用默认值,设置为参数时使用提供的值。 对于未加星号的版本,我想在没有参数时使用初始值或当前值,仅使用键名时使用默认值,设置为参数时使用提供的值。 \documentclass{article} \ExplSyntaxOn \dim_new:N \l_mymodule_width_dim \dim_new:N \l_mymodule_height_dim \dim_new:N \l_mymodule_...

Admin

没有 .initial:n 的空参数
l3keys

没有 .initial:n 的空参数

当未设置初始值且参数为空时,将使用变量中的当前值,不一定是原来的值.initial:n。 .initial:n仅在使用时设置一次值,而不添加任何稍后重置这些值的方法。 所描述的情况是否被视为有缺陷?是否应该实际上禁止使用当前值并在每次调用命令时重置? \documentclass{article} \ExplSyntaxOn % Define a new key-value family \keys_define:nn { mymodule } { width .dim_set:N = \l_mymodule_width_dim, %%widt...

Admin

为什么我无法正确重置 l3keys 中的按键?
l3keys

为什么我无法正确重置 l3keys 中的按键?

为了帮助我学习,l3keys我创建了两个小演示。 第一个用于l3keys命令,据我所知,它似乎工作正常。 % !TEX program = lualatexmk % !TEX encoding = UTF-8 Unicode \documentclass{article} \ExplSyntaxOn \prop_gput:Nnn \g_msg_module_type_prop { foo }{ Command } \msg_new:nnnn { foo }{ unknownoption } { Unknown~option. }{ Try~again...

Admin

初始、默认和用户定义的键
l3keys

初始、默认和用户定义的键

我想传递用户定义的键。但是当用户未指定值时,将使用默认值。我需要一些关于在命令中做什么的解释\setdimensions。到底是怎么.initial回事? \documentclass{article} \ExplSyntaxOn % Define dimension variables \dim_new:N \l_mymodule_width_dim \dim_new:N \l_mymodule_height_dim \dim_new:N \l_mymodule_margin_dim % Define a new key-value family \...

Admin

包中的 expl3
l3keys

包中的 expl3

我读到过自 2020 年 2 月以来 LaTeX2e 原生支持interface3.pdf此expl3功能。但是,我无法进行以下工作: % test.sty \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{test} \DeclareKeys{ lang.choices:nn = {uk, de}{ \newcommand{\lang}{\ExplSyntaxOn\int_use:N\l_keys_choice_int\ExplSyntaxOff} } } \ProcessKeyOpti...

Admin

l3keys 中的括号
l3keys

l3keys 中的括号

在许多情况下,定义键时会省略键值周围的括号l3keys,即使键本身具有n-、c- 或e-type 参数(这些参数通常需要括号参数)。这难道不比提供括号更不一致且更令人困惑吗? 我的问题:(1)为什么有时会省略括号?(2)哪种编程最佳实践是expl3? 我的 MWE 只是对不使用括号值定义键的快速演示l3keys。在注释掉的代码中,键是用括号值定义的。 \documentclass{article} \ExplSyntaxOn \keys_define:nn { my } { string .str_set:c = l__my_tmpa_str...

Admin

如何将选项附加到现有的 .meta:n l3key?
l3keys

如何将选项附加到现有的 .meta:n l3key?

如果我之前已经设置了.meta:n密钥 \keys_define:nn { module } { key .meta:n = { … } } \kerys_define:nn然后通过调用新选项很容易用新值替换键meta。 但是如果我想将键附加到当前的元选项中该怎么办? 平均能量损失 在此 MWE 中,我想\setstyle替换 的元选项style并将\setstyle*其附加到 的元选项style。我该怎么做? \documentclass{article} \ExplSyntaxOn \keys_define:nn { dcp } { ke...

Admin

概念证明
l3keys

概念证明

我想知道我是否可以l3keys像 pgfoption 那样使用它来处理多个子模块? 下面是一个 MWE 来说明我的问题: 一个包文件mypkg.sty(注释中包含了我尝试编译 LaTeX 文件时遇到的错误): \ProvidesExplPackage{mypkg}{2024/01/01}{v0.0.0}{mypkg test} \keys_define:nn { mypkg / title } { title .choice:, title .usage:n = { general }, title .default:n = {...

Admin

使用键时 .choices 的正确用法是什么?
l3keys

使用键时 .choices 的正确用法是什么?

我尝试normanius以以下方式创建一个键:每个键都映射到一个自己的变量\l__normanius_*_tl,以便我可以在某些后续代码中使用这些变量。 \documentclass{article} \usepackage{expl3} \begin{document} \ExplSyntaxOn \keys_define:nn { normanius } { one .bool_set:N = \l__normanius_one_bool, one .initial:n = { false }, two .tl_set:N =...

Admin

修改分段命令的可选参数以传递键值列表
l3keys

修改分段命令的可选参数以传递键值列表

标准类具有分段命令,其第一个参数可选,可以包含用于目录和运行头的 alt 标题。如果需要使用 keyval 接口而不更改用户 API,则可以在其后传递键。下面的代码尝试检测第一个参数是否带有短标题和/或键。我的问题是,如何改进它以及任何其他建议。我通过符号的存在来检测键的存在=。如果键的形式为 pgfkeys 中的样式或普通键中的 |10pt|,则此方法会失败。我可以要求用户用诸如但不想这样的信号标记短标题的结尾,>>这样就可以处理旧文档而无需进行更改。另一种方法是添加一个虚拟键,以便用户输入始终在左侧。还有其他想法吗? \documentcla...

Admin

从 l3prop 键展开列表
l3keys

从 l3prop 键展开列表

我有一个键,它以逗号分隔的列表作为其值,其中的条目来自属性列表的键。我希望“默认”(未指定值)将键应用于属性列表的每个键。我不知道如何将属性键转换为可以传递给的扩展列表\clist_map_inline:nn。这是一个最小的非工作示例: \documentclass{article} \ExplSyntaxOn \prop_new:N \g_mymodule_prop \prop_set_from_keyval:Nn \g_mymodule_prop { A=1, B=2, C=3, D=4 } \keys_define:nn { mymodule }...

Admin

如何将 LaTeX3 包键字体大小值转换为命令?
l3keys

如何将 LaTeX3 包键字体大小值转换为命令?

我不知道如何搜索此问题,因为在问题backwards slash中\没有找到任何有用的信息。如何设置键值,然后使用字体大小值,而无需使用包选项中的命令,例如 \usepackage[superscript-fontsize=large]{aminosymb} 代替 \usepackage[superscript-fontsize=\large]{aminosymb} 我希望我正在编写的包不必在包选项中放置反斜杠,尽管这始终是一种备份。例如,我的 MWE 生成了以下内容: 使用此命令: \NewDocumentCommand { \aasp } { m ...

Admin