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. Such a situation is reported to exist for the
219           "memoir" LaTeX class.
220
221           Programmers who know Common Lisp and Lex and want to work on a
222           remedy should please contact the author.
223
224       •   If you have an index rage and a location attribute, e.g.,
225           "\index{key\(attr}" starts the range, one needs (1) to specify that
226           attribute in the range closing entry as well (i.e., as
227           "\index{key\)attr}") and (2) one needs to declare the index
228           attribute in an xindy style file.
229
230           MakeIndex will output the markup "\attr{page1--page2}" for such a
231           construct. This is not possible to achieve in xindy, output will be
232           "\attrMarkup{page1}--\attrMarkup{page2}". (This is actually
233           considered a bug, but not a high priority one.)
234
235           The difference between MakeIndex page number tags and xindy
236           location attributes was already explained in the previous item.
237
238       •   The MakeIndex compatibility definitions support only the default
239           raw index syntax and markup definition. It is not possible to
240           configure raw index parsing or use a MakeIndex style file to
241           describe output markup.
242

KNOWN ISSUES

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

SEE ALSO

256       texindy(1), tex2xindy(1)
257

AUTHOR

259       Joachim Schrod
260

LEGALESE

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