Take the 2-minute tour ×

This question led to a new package:

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)
  • 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
  • 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:

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.

share|improve this question
This is waaaay to wide of a question imho. A bibliography most definitely is something entirely different than the others. So one question might be about the difference between the other three. As for preferable packages, tex.stackexchange.com/q/25701 should cover the bibliography part, and I think we already have questions about the other concepts as well, but I don't follow those since I don't use them. You'll find them by searching. So I would strongly encourage you to narrow this question down a lot (and ask more separate questions if necessary). –  doncherry Oct 19 '12 at 4:35
Hm. My question is basically: "What would be the best package/system to build my own nomenclature package on top of?" The extra information was just to show that I did some research before asking. Asking for a general comparison was meant to help make the answer useful to more people. +++++ Thanks for the link! It's generally informative, but not for my specific use-case. –  mhelvens Oct 19 '12 at 10:28
I does look like you did some thorough research first, thanks for that! :) 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:00
Ok, thanks for your advice! I have now rewritten my question. I hope this is more appropriate. +++++ Incidentally, I now suspect the package glossaries is 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:15
Have you read Nicola Talbot's article about creating a glossary without the help of makeindex/xindy? –  cgnieder Oct 19 '12 at 21:35
show 1 more comment

1 Answer

up vote 4 down vote accepted

The first useful version of this package is now on CTAN, called concepts. It was written 'from scratch', without another package as the base.

However, I've decided to build the next version on top of glossaries, as it already implements much of the functionality, has many useful features and is actively maintained and well documented.

share|improve this answer
add comment

Your Answer


