我应该在什么基础上构建新的命名法包?

我应该在什么基础上构建新的命名法包?

这个问题导致了一个新的方案的出现:
concepts

这是一次重大修改。在我之前的尝试中,我过于笼统,这混淆了我真正的问题。


我想编写一个新包,用于我的博士论文:命名管理包。为什么要写一个新包?我一直在研究它,但似乎还没有一个具有我需要的功能的包。特别是,nomencl对于我的目的来说太有限了。我希望能够:

  • 将某个形式概念与以下概念联系起来:
    • 名称 + 复数形式(例如delta+ deltas
    • 描述(例如a module which can transform one product into another
    • 变量名称列表,用于表示它的实例(例如x, y, z
    • 宏前缀,用于排版文档中的变量/常量(例如\d
  • 任意将可用的变量名称分配给、等的\d1出现\d2
  • 如果使用的宏数量多于可用名称数量,则报告错误
  • 如果任何变量名与多个概念相关联,则报告错误
  • 生成包含所有相关信息的表格/列表,并按文档中的出现次数排序
  • 生成句子片段,例如for all deltas $x, y$ and products $p$从宏中生成\forallvars{\d1,\d2,\p1}

也许还有一些我还没想到的东西。

我的问题是:如果我想以最少的麻烦创建这个包,我应该从哪里开始?

下面的文字包含了一些我可以考虑的可能选项的研究。


从技术角度来看,索引、词汇表、术语表和参考书目对我来说都感觉是同一件事。数据是从整个文档中收集的,写入文件(可能),以某种方式格式化/转换,然后以各种形式输出。所以可能任何做这种事情的包都可以作为我的起点。

目前已存在许多不同的技术:

相当多的现有软件包管理词汇表或者命名法。它们通常建立在 bibtex 或 makeindex/xindy 之上,但并非总是如此。然后还有 围绕那些调整小选项或添加新功能而构建。

所以……要考虑的选择实在太多了。我只见树木不见森林。

答案1

此软件包的第一个可用版本现已在 CTAN 上,称为concepts。它是“从头”编写的,没有其他软件包作为基础。

然而,我决定在 的基础上构建下一个版本glossaries,因为它已经实现了许多功能,具有许多有用的特性,并且得到积极维护和有详尽的文档。

相关内容