This question led to a new package:
concepts
This is a major edit. In my previous attempt I overgeneralized, which obfuscated my real question.
I'd like to write a new package which I want to use for my PhD thesis: a nomenclature management package. Why a new one? I've been looking into it, and a package with the features I need doesn't seem to exist yet. In particular, nomencl is too limited for my purpose. I'd like to be able to:
- associate a certain formal concept with:
- a name + plural form (e.g.
delta+deltas) - a description (e.g.
a module which can transform one product into another) - a list of variable names, used to represent instances of it (e.g.
x, y, z) - a macro prefix, used to typeset those variables/constants in the document (e.g.
\d)
- a name + plural form (e.g.
- arbitrarily assign available variable names to occurrences of
\d1,\d2, etc. - report an error if there are more macros used than names available
- report an error if any variable name is associated with more than one concept
- (within two connected scopes: see my other package idea)
- generate a table/list with all relevant info, sorted by occurrence in the document
- generate sentence fragments such as
for all deltas $x, y$ and products $p$from macros such as\forallvars{\d1,\d2,\p1}
Maybe some other stuff I didn't think of yet.
My question is: what should I start off with if I want to create this package with a minimum of hassle?
The text below contains some research on the many possible options I could consider.
An index, a glossary, a nomenclature and a bibliography all feel like the same thing to me, from a technical point of view. Data is gathered from the entire document, written to a file (possibly), formatted/transformed in some way, then made available for output in various forms. So possibly any package that does this sort of thing could serve as a starting-point for me.
Many different techniques already exist:
- bibtex, biblatex, biber (aimed at bibliographies)
- makeindex, xindy (aimed at glossaries)
- newfile ('manually')
- pure (La)TeX, no intermediate file
Quite some existing packages manage glossaries or nomenclatures. They are usually built on top of bibtex or makeindex/xindy, but not always. And then there are also tons and tons of packages built around those that tweak little options or add new features.
So... there are just too many options to consider. I can't see the forest for the trees.
:)As for your question, I'd recommend then actually putting more of an emphasis on the fact that you want to put a package on top of one of these packages -- which is vastly different from what most users would be looking for in such a package, I suppose. So yeah, I'd say minimize the "general" part and put it at the end (because that'd be kind of duplicate-y) and focus your question on the fact that you want to develop a package. Technically, that might be too localized, but we generally like&support new packages. – doncherry Oct 19 '12 at 15:00glossariesis the best starting point for me. It seems extremely flexible and well-maintained. I'm working on that now, but I'd still like to hear more opinions. If I eventually succeed by myself, I'll post my own answer. – mhelvens Oct 19 '12 at 21:15datatool), mere weeks before I start writing. :-) I'm definitely reading the article. But I might still go forglossariesitself, since I can then leverage its many options. (I don't particularly mind having to do multiple runs. Eclipse does it for me.) – mhelvens Oct 19 '12 at 21:49