关键属性未知

关键属性未知

我刚刚更新了我的 Linux 发行版(Linux Mint 17.3 -> Linux Mint 18),并从 TeX Live 2014 更新到 2016。我有一个用 LaTeX3 编写的(大型)自制文档类。

现在我尝试使用我的类编译一个文档并得到以下错误:

LaTeX error: "kernel/property-unknown" 
The key property '.choice_code:n' is unknown. 
See the LaTeX3 documentation for further information.

我已经在网上搜索过,但唯一的提示是更新所有软件包,我已经这样做了,但没有成功。

l3keys或其他 LaTeX3 包中是否有任何变化,从而可能导致此错误?

添加

我使用以下代码来生成密钥:

\keys_define:nn {edu} {
    rmfont .choice_code:n = {
        \tl_gset:NV \g_edu_rmfont_tl \l_keys_choice_tl
    },
    rmfont .generate_choices:n = {
        computermodern, libertine, palatino
    },
    rmfont .initial:n = libertine
}

答案1

\keys_define:nn { edu }
 {
   rmfont .choices:nn =
    { computermodern, libertine, palatino }
    { \tl_gset:NV \g_edu_rmfont_tl \l_keys_choice_tl } ,
   rmfont .initial:n = libertine
 }

答案2

正如 clemens、Henri Menke 和 cfr 已经提到的(谢谢!!),(.choice_code:n以及.generate_choices:n)已从l3keyslatex3 的修订版本 5655

重读后LaTeX3 接口文档(第 XX.3 节,第 176-179 页),我能够修补我的问题。问题的示例可以调整为以下内容:

\keys_define:nn {edu} {
  rmfont .choices:nn = {
    computermodern, libertine, palatino
  }
  {
    \tl_gset:NV \g_edu_rmfont_tl \l_keys_choice_tl
  },
  rmfont .initial:n = libertine
}

最后,一切又恢复正常了。非常感谢!

相关内容