This is embedded indexing, which can of course also be done in Word and OpenOffice Writer. But very few indexers work this way. What I mean by indexing software is a program into which the indexer can enter a long list of headings and subheadings with page numbers (including ranges), quickly sort them alphabetically, by page number or by order of entry, copy one variant over another, convert a see reference to a double entry, check for overlapping page ranges, cross-references to non-existent entries, duplicate entries, entries with too many page references, etc, etc, and eventually produce a formatted output with a single line for each major heading, indents for subheadings, page numbers sorted into the correct order, etc. This is what indexers actually DO.
What we use are, in fact, just glorified database programs, and I don't imagine
it would be very hard for someone to kick off an open source software project which could come up with a reasonably good product fairly quickly. But as far as I can tell it hasn't happened yet. Thanks to everyone for their responses, however. Jon. Peter Chubb wrote:
While there are no tools for automatic indexing, the tools commonly used for typesetting (LaTeX, troff) come with the ability to create indices. I've found in the past that automatically generated indices are genrally very poor; what the LaTeX (and texinfo and troff mm macro packages, etc.,) do is to allow an author (or human indexer) to insert tags with keywords next to where the subject of the keyword is described; then the tool automatically associates the keyword(s) with a set of pages that can be typeset. It's possible to set up multiple indices (e.g., a separate index for recipes in a cookery book, or people in a history) -- Peter Chubb peter DOT chubb AT nicta.com.au http://www.ertos.nicta.com.au ERTOS within National ICT Australia Kernel Engineering Group (KEG): Where Systems Brew.
-- SLUG - Sydney Linux User's Group Mailing List - http://slug.org.au/ Subscription info and FAQs: http://slug.org.au/faq/mailinglists.html