xtemplate中对象,模板接口,模板代码参数有什么区别?

xtemplate中对象,模板接口,模板代码参数有什么区别?

来自@cgnieder 的帮助xtemplate 文章

基本上,有四个命令对于结构的定义很重要:

\DeclareObjectType
    {⟨object⟩}
    {⟨number of args⟩}

\DeclareTemplateInterface
    {⟨object⟩}
    {⟨template⟩}
    {⟨number of args⟩}
    {⟨interface⟩}

\DeclareTemplateCode
    {⟨object⟩}
    {⟨template⟩}
    {⟨number of args⟩}
    {⟨parameter⟩}
    {⟨code⟩}

\DeclareInstance
    {⟨object⟩}
    {⟨instance⟩}
    {⟨template⟩}
    {⟨parameter⟩}

\DeclareObjectType为什么、 \DeclareTemplateInterface和 的参数数量有区别 \DeclareTemplateCode

答案1

正如链接文章所解释的那样,该xtemplate包是一种实验性方法,用于形式化 LaTeX 设计和结构之间的分离。(它并不是唯一被探索的方法,还有一些重要的未解决的问题!)模板方法旨在实现的想法自我文档化。因此,例如,无需查看一些单独的文档即可读取接口声明的方式,并且应该可以合理地了解正在使用的键的性质。

对于对象/模板所采用的参数数量,在创建模板时重复对象类型所采用的参数数量的需求本质上与“清晰度”有关。这个想法是,您可以立即看到事情是一致的,并且还可以在例如阅读模板实现(代码部分)时看到预期的参数数量。

从技术层面上讲,完全可以简单地查找对象类型需要多少个参数,然后直接在代码的模板部分使用该值(\DeclareTemplateInterface实际上并不需要this: 仅\DeclareTemplateCode具有需要声明参数数量的内部函数)。

相关内容