将参数传递给 ConTeXt \component、\product 等

将参数传递给 ConTeXt \component、\product 等

我想使用\componentConTeXt 中的和相关命令,而且它似乎很合适。但是,我希望为给定组件设置多个参数,例如

\startcomponent X
  \sometexcommand{name} % where name is a parameter that varies the component
\stopcomponent

实现这一点的一种方法可能是将 Lua 变量设置为副作用,但我想知道是否有办法直接将参数传递给组件,例如

\component[X][name=123]

然后使用类似\structureuservariable{name}

如果某个组件不适合这样做,是否有合理的替代方案?

答案1

组件不接受参数,但是模块做。

另存为t-X.text-代表第三方)

\startmodule X

\sometexcommand{\currentmoduleparameter{name}} % where name is a parameter that varies the component

\stopmodule

并在主文档中使用该模块。

\starttext

\usemodule[X][name=123]

\stoptext

这当然不会编译,因为\sometexcommand未定义。

相关内容