1xindy(1) xindy xindy(1)
2
3
4
6 xindy - create sorted and tagged index from raw index
7
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
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
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
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
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
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
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
262 texindy(1), tex2xindy(1)
263
265 Joachim Schrod
266
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)