我刚刚更新了我的 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
)已从l3keys
latex3 的修订版本 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
}
最后,一切又恢复正常了。非常感谢!