Next
Previous
Contents
xindy means flexible indexing system. It is an
indexing system that can be used to generate book-like indexes for
arbitrary document preparation systems. This term includes systems
such as TeX [1] and LaTeX [2], the Nroff-family
or SGML-based systems (e.g. HTML) that process some kind of text and
generate indexing information. It is not fixed to any specific system,
but can be configured for a wide variety of purposes.
Authors sometimes wish to include an index into their document, but
very often their document preparation systems aren't able to produce
indexes on their own, or the capabilities of the built-in indexers are
insufficient and produce ugly looking results. More often they use
separate specialized tools for this purpose, sometimes called
index processors.
In comparison to other index processors xindy has several
powerful features that make it an ideal framework for describing and
generating complex indexes. Its most interesting features are
- Internationality
xindy can be configured to process indexes
for many languages with different letter sets and different sorting
rules. For example, many roman languages such as Italian, French,
Portuguese or Spanish contain accentuated letters such as À,
Á, ñ. Other languages from northern Europe have letters
like Ä, Ø, æ or ß which often can't even be
processed by many index processors let alone sorting them correctly
into an index. The xindy system can be configured to process
these alphabets by defining sort and merge rules that allow
expressing language specific rules. One example of such a rule would
be
(sort-rule "ä" "ae")
defining that a word containing the umlaut-a will be sorted as if it
contained the letters ae
instead. This is one form of how the
umlaut-a ("ä") is sorted into german indexes. With an appropriate set
of rules on can express the complete rules of a specific language.
- User Definable Location Types
Locations are the entities an
index entry points to. Often used locations are page numbers,
section numbers, etc. xindy allows to define new kinds of
types to be composed of basic entities like arabic numbers, roman
numerals, letters, etc. which can be used to describe new index types.
Examples of these entities can be books that have a page numbering
scheme that starts from 1 for each new chapter resulting in page
numbers of the form 1-13, 2-15, 2-20, etc. This type of locations
can often be found in computer manuals. A more complex structure is
represented by the locations Psalm 46, 1-8 and Genesis 1,
31. Even the structure of bible verses can be described allowing
xindy to correctly sort and process indexes for documents with a
completely different structure.
- Highly Configurable Markup
Since a index processor is only one
component in a document preparation system it ought to fit smoothly
into the complete environment. Many text processing systems use the
concept of environments that can be used to describe the markup
of the text entities. Our approach is based on this concept which has
proved to be expressive enough for most applications. As an example
one can view systems such as TeX, SGML and its instance HTML, GNU
Info, RTF and the Nroff-familiy of document formatters. The markup of
an index can be defined for all of these systems in a very comfortable
though extremly powerful way.
Next
Previous
Contents