1xindy(1)                             xindy                            xindy(1)
2
3
4

NAME

6       xindy - create sorted and tagged index from raw index
7

SYNOPSIS

9        xindy [-V?h] [-qv] [-d magic] [-o outfile.ind] [-t log] \
10              [-L lang] [-C codepage] [-M module] [-I input] \
11              [--interactive] [--mem-file=xindy.mem] \
12              [idx0 idx1 ...]
13
14   GNU-Style Long Options for Short Options:
15        -V / --version
16        -? / -h / --help
17        -q / --quiet
18        -v / --verbose
19        -d / --debug          (multiple times)
20        -o / --out-file
21        -t / --log-file
22        -L / --language
23        -C / --codepage
24        -M / --module         (multiple times)
25        -I / --input-markup   (supported: latex, xelatex, omega, xindy)
26

DESCRIPTION

28       xindy is the formatter-indepedent command of xindy, the flexible
29       indexing system. It takes a raw index as input, and produces a merged,
30       sorted and tagged index. Merging, sorting, and tagging is controlled by
31       xindy style files.
32
33       Files with the raw index are passed as arguments. If no arguments are
34       passed, the raw index will be read from standard input.
35
36       xindy is completely described in its manual that you will find on its
37       Web Site, http://www.xindy.org/. A good introductionary description
38       appears in the indexing chapter of the LaTeX Companion (2nd ed.)
39
40       If you want to produce an index for LaTeX documents, the command
41       texindy(1) is probably more of interest for you. It is a wrapper for
42       xindy that turns on many LaTeX conventions by default.
43

OPTIONS

45       "--version" / -V
46           output version numbers of all relevant components and exit.
47
48       "--help" / -h / -?
49           output usage message with options explanation.
50
51       "--quiet" / -q
52           Don't output progress messages. Output only error messages.
53
54       "--verbose" / -v
55           Output verbose progress messages.
56
57       "--debug" magic / -d magic
58           Output debug messages, this option may be specified multiple times.
59           magic determines what is output:
60
61            magic          remark
62            ------------------------------------------------------------
63            script         internal progress messages of driver scripts
64            keep_tmpfiles  don't discard temporary files
65            markup         output markup trace, as explained in xindy manual
66            level=n        log level, n is 0 (default), 1, 2, or 3
67
68       "--out-file" outfile.ind / -o outfile.ind
69           Output index to file outfile.ind. If this option is not passed, the
70           name of the output file is the base name of the first argument and
71           the file extension ind. If the raw index is read from standard
72           input, this option is mandatory.
73
74       "--log-file" log.ilg / -t log.ilg
75           Output log messages to file log.ilg. These log messages are
76           independent from the progress messages that you can influence with
77           "--debug" or "--verbose".
78
79       "--language" lang / -L lang
80           The index is sorted according to the rules of language lang. These
81           rules are encoded in a xindy module created by make-rules.
82
83           If no input encoding is specified via "--codepage" or enforced by
84           input markup, a xindy module for that language is searched with a
85           latin, a cp, an iso, ascii, or utf8 encoding, in that order.
86
87           Language modules are either placed in the lang or in the
88           contrib/lang sub-directory of the modules base directory.
89
90       "--codepage" enc / -C enc
91           The raw input is in input encoding enc. This information is used to
92           select the correct xindy sort module and output encoding of letter
93           group headings.
94
95           When "xelatex" or "omega" input markup is used, "utf8" is always
96           used as codepage, then this option is ignored.
97
98           If raw input is in LICR, texindy(1) should be used instead of
99           xindy(1). It will activate a mapping of inputenc encoding for
100           "latex" input markup to the chosen raw input codepage.
101
102       "--module" module / -M module
103           Load the xindy module module.xdy. This option may be specified
104           multiple times. The modules are searched in the xindy search path
105           that can be changed with the environment variable
106           "XINDY_SEARCHPATH".
107
108       "--input-markup" input / -I input
109           Specifies the input markup of the raw index. Supported values for
110           input are "latex", "xelatex", "omega", and "xindy".
111
112           "latex" and "xelatex" input markup is the one that is emitted by
113           default from the LaTeX kernel, or by the "index" macro package of
114           David Jones. ^^-notation of single byte characters is supported.
115           Remapping of LICR-encoded characters is not done; use texindy(1)
116           for that. Use input markup "latex" if you use standard LaTeX or
117           pdfLaTeX and use input markup "xelatex" if you use XeLaTeX or
118           LuaLaTeX.
119
120           "omega" input markup is like "latex" input markup, but with Omega's
121           ^^-notation as encoding for non-ASCII characters.
122
123           "xindy" input markup is specified in the xindy manual.
124
125       "--interactive"
126           Start xindy in interactive mode. You will be in a xindy read-eval-
127           loop where xindy language expressions are read and evaluated
128           interactively.
129
130       "--mem-file" xindy.mem
131           This option is only usable for developers or in very rare
132           situations.  The compiled xindy kernel is stored in a so-called
133           memory file, canonically named xindy.mem, and located in the xindy
134           library directory. This option allows to use another xindy kernel.
135

SUPPORTED LANGUAGES / CODEPAGES

137       The following languages are supported:
138
139   Latin scripts
140        albanian      gypsy             portuguese
141        croatian      hausa             romanian
142        czech         hungarian         russian-iso
143        danish        icelandic         slovak-small
144        english       italian           slovak-large
145        esperanto     kurdish-bedirxan  slovenian
146        estonian      kurdish-turkish   spanish-modern
147        finnish       latin             spanish-traditional
148        french        latvian           swedish
149        general       lithuanian        turkish
150        german-din    lower-sorbian     upper-sorbian
151        german-duden  norwegian         vietnamese
152        greek-iso     polish
153
154       German recognizes two different sorting schemes to handle umlauts:
155       normally, "ae" is sorted like "ae", but in phone books or dictionaries,
156       it is sorted like "a". The first scheme is known as DIN order, the
157       second as Duden order.
158
159       "*-iso" language names assume that the raw index entries are in ISO
160       8859-9 encoding.
161
162       "gypsy" is a northern Russian dialect.
163
164   Cyrillic scripts
165        belarusian    mongolian         serbian
166        bulgarian     russian           ukrainian
167        macedonian
168
169   Other scripts
170        greek         klingon
171
172   Available Codepages
173       This is not yet written. You can look them up in your xindy
174       distribution, in the modules/lang/language/ directory (where language
175       is your language). They are named variant-codepage-lang.xdy, where
176       variant- is most often empty (for german, it's "din5007" and "duden";
177       for spanish, it's "modern" and "traditional", etc.)
178
179        < Describe available codepages for each language >
180
181        < Describe relevance of codepages (as internal representation) for
182          LaTeX inputenc >
183

ENVIRONMENT

185       "XINDY_SEARCHPATH"
186           A list of directories where the xindy modules are searched in. No
187           subtree searching is done (as in TDS-conformant TeX).
188
189           If this environment variable is not set, the default is used:
190           ".:"modules_dir":"modules_dir"/base". modules_dir is determined at
191           run time, relative to the xindy command location: Either it's
192           ../modules, that's the case for opt-installations.  Or it's
193           ../lib/xindy/modules, that's the case for usr-installations.
194
195       "XINDY_LIBDIR"
196           Library directory where xindy.mem is located.
197
198           The modules directory may be a subdirectory, too.
199

COMPATIBILITY TO MAKEINDEX

201       xindy does not claim to be completely compatible with MakeIndex, that
202       would prevent some of its enhancements. That said, we strive to deliver
203       as much compatibility as possible. The most important incompatibilities
204       are
205
206       ·   For raw index entries in LaTeX syntax, "\index{aaa|bbb}" is
207           interpreted differently. For MakeIndex "bbb" is markup that is
208           output as a LaTeX tag for this page number. For xindy, this is a
209           location attribute, an abstract identifier that will be later
210           associated with markup that should be output for that attribute.
211
212           For straight-forward usage, when "bbb" is "textbf" or similar, we
213           supply location attribute definitions that mimic MakeIndex's
214           behaviour.
215
216           For more complex usage, when "bbb" is not an identifier, no such
217           compatibility definitions exist and may also not been created with
218           current xindy. In particular, this means that by default the LaTeX
219           package "hyperref" will create raw index files that cannot be
220           processed with xindy. This is not a bug, this is the unfortunate
221           result of an intented incompatibility. It is currently not possible
222           to get both hyperref's index links and use xindy.
223
224           A similar situation is reported to exist for the "memoir" LaTeX
225           class.
226
227           Programmers who know Common Lisp and Lex and want to work on a
228           remedy should please contact the author.
229
230       ·   If you have an index rage and a location attribute, e.g.,
231           "\index{key\(attr}" starts the range, one needs (1) to specify that
232           attribute in the range closing entry as well (i.e., as
233           "\index{key\)attr}") and (2) one needs to declare the index
234           attribute in an xindy style file.
235
236           MakeIndex will output the markup "\attr{page1--page2}" for such a
237           construct. This is not possible to achieve in xindy, output will be
238           "\attrMarkup{page1}--\attrMarkup{page2}". (This is actually
239           considered a bug, but not a high priority one.)
240
241           The difference between MakeIndex page number tags and xindy
242           location attributes was already explained in the previous item.
243
244       ·   The MakeIndex compatibility definitions support only the default
245           raw index syntax and markup definition. It is not possible to
246           configure raw index parsing or use a MakeIndex style file to
247           describe output markup.
248

KNOWN ISSUES

250       Option -q also prevents output of error messages. Error messages should
251       be output on stderr, progress messages on stdout.
252
253       There should be a way to output the final index to stdout. This would
254       imply -q, of course.
255
256       LaTeX raw index parsing should be configurable.
257
258       Codepage "utf8" should be supported for all languages, and should be
259       used as internal codepage for LaTeX inputenc re-encoding.
260

SEE ALSO

262       texindy(1), tex2xindy(1)
263

AUTHOR

265       Joachim Schrod
266

LEGALESE

268       Copyright (c) 2004-2014 by Joachim Schrod.
269
270       xindy is free software; you can redistribute it and/or modify it under
271       the terms of the GNU General Public License as published by the Free
272       Software Foundation; either version 2 of the License, or (at your
273       option) any later version.
274
275       This program is distributed in the hope that it will be useful, but
276       WITHOUT ANY WARRANTY; without even the implied warranty of
277       MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
278       General Public License for more details.
279
280
281
282Release 2.5.1                     2014-10-24                          xindy(1)
Impressum