这个问题导致了一个新的方案的出现:
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
,因为它已经实现了许多功能,具有许多有用的特性,并且得到积极维护和有详尽的文档。