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

NAME

6       texindy - create sorted and tagged index from raw LaTeX index
7

SYNOPSIS

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

DESCRIPTION

30       texindy is the LaTeX-specific command of xindy, the flexible indexing
31       system. It takes a raw index as input, and produces a merged, sorted
32       and tagged index. Merging, sorting, and tagging is controlled by xindy
33       modules, with a convenient set already preloaded.
34
35       Files with the raw index are passed as arguments. If no arguments are
36       passed, the raw index will be read from standard input.
37
38       A good introductionary description of texindy appears in the indexing
39       chapter of the LaTeX Companion (2nd ed.)
40
41       If you want to produce an index for LaTeX documents with special index
42       markup, the command xindy(1) is probably more of interest for you.
43
44       texindy is an approach to merge support for the make-rules framework,
45       own xindy modules (e.g., for special LaTeX commands in the index), and
46       a reasonable level of MakeIndex compatibility.
47

OPTIONS

49       "--version" / -V
50           output version numbers of all relevant components and exit.
51
52       "--help" / -h / -?
53           output usage message with options explanation.
54
55       "--quiet" / -q
56           Don't output progress messages. Output only error messages.
57
58       "--verbose" / -v
59           Output verbose progress messages.
60
61       "--debug" magic / -d magic
62           Output debug messages, this option may be specified multiple times.
63           magic determines what is output:
64
65            magic          remark
66            ------------------------------------------------------------
67            script         internal progress messages of driver scripts
68            keep_tmpfiles  don't discard temporary files
69            markup         output markup trace, as explained in xindy manual
70            level=n        log level, n is 0 (default), 1, 2, or 3
71
72       "--out-file" outfile.ind / -o outfile.ind
73           Output index to file outfile.ind. If this option is not passed, the
74           name of the output file is the base name of the first argument and
75           the file extension ind. If the raw index is read from standard
76           input, this option is mandatory.
77
78       "--log-file" log.ilg / -t log.ilg
79           Output log messages to file log.ilg. These log messages are
80           independent from the progress messages that you can influence with
81           "--debug" or "--verbose".
82
83       "--language" lang / -L lang
84           The index is sorted according to the rules of language lang. These
85           rules are encoded in a xindy module created by make-rules.
86
87           If no input encoding is specified via "--codepage" or enforced by
88           input markup, a xindy module for that language is searched with a
89           latin, a cp, an iso, ascii, or utf8 encoding, in that order.
90
91       "--codepage" enc / -C enc
92           There are two different situations and use cases for this option.
93
94           1.  Input markup is "latex" (the default).
95
96               Then texindy's raw input is assumed to be encoded in LaTeX
97               Internal Character Representation (LICR). I.e., non-ASCII
98               characters are encoded as command sequences. This option tells
99               xindy the encoding it shall use for letter group headings.
100               (Additionally it specifies the encoding used internally for
101               sorting -- but that doesn't matter for the result.)
102
103               Only LICR encodings for Latin script alphabets are supported;
104               more precisely characters that are in LaTeX latin1, latin2, and
105               latin3 LICR encodings.
106
107               Even when you specify "utf8" as codepage, only these characters
108               will be known. But if you use non-Latin alphabets, you probably
109               use (or should use) XeLaTeX or LuaLaTeX and then you have a
110               different input markup.
111
112           2.  Input markup is "xelatex" or "omega".
113
114               Then this option is ignored; codepage "utf8" is enforced.
115
116               texindy's raw input is assumed to be UTF-8 encoded, LICR is not
117               used.
118
119       "--module" module / -M module
120           Load the xindy module module.xdy. This option may be specified
121           multiple times. The modules are searched in the xindy search path
122           that can be changed with the environment variable
123           "XINDY_SEARCHPATH".
124
125       "--input-markup" input / -I input
126           Specifies the input markup of the raw index. Supported values for
127           input are "latex", "xelatex", and "omega".
128
129           "latex" input markup is the one that is emitted by default from the
130           LaTeX kernel, or by the "index" macro package of David Jones, when
131           used with standard LaTeX or pdfLaTeX. ^^-notation of single byte
132           characters is supported. Usage of LaTeX's inputenc package is
133           assumed as well, i.e., raw input is encoded in LICR.
134
135           "xelatex" input markup is like "latex", but without inputenc usage.
136           Raw input is encoded in UTF-8. LuaLaTeX has the same input markup,
137           there's no special option value for it.
138
139           "omega" input markup is like "latex" input markup, but with Omega's
140           ^^-notation as encoding for non-ASCII characters. LICR encoding is
141           not used then, and "utf8" is enforced to be the codepage for
142           sorting and for output of letter group headings.
143

SUPPORTED LANGUAGES / CODEPAGES

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

TEXINDY STANDARD MODULES

193       There is a set of texindy standard modules that help to process LaTeX
194       index files. Some of them are automatically loaded. Some of them are
195       loaded by default, this can be turned off with a texindy option. Others
196       may be specified as "--module" argument to achieve a specific effect.
197
198        xindy Module    Category  Description
199
200   Sorting
201        word-order      Default   A space comes before any letter in the
202                                  alphabet: ``index style'' is listed before
203                                  ``indexing''. Turn it off with option -l.
204        letter-order    Add-on    Spaces are ignored: ``index style''
205                                  is sorted after ``indexing''.
206        keep-blanks     Add-on    Leading and trailing white space (blanks
207                                  and tabs) are not ignored; intermediate
208                                  white space is not changed.
209        ignore-hyphen   Add-on    Hyphens are ignored:
210                                  ``ad-hoc'' is sorted as ``adhoc''.
211        ignore-punctuation Add-on All kinds of punctuation characters are
212                                  ignored: hyphens, periods, commas, slashes,
213                                  parentheses, and so on.
214        numeric-sort    Auto      Numbers are sorted numerically, not like
215                                  characters: ``V64'' appears before ``V128''.
216
217   Page Numbers
218        page-ranges     Default   Appearances on more than two consecutive
219                                  pages are listed as a range: ``1--4''.
220                                  Turn it off with option -r.
221        ff-ranges       Add-on    Uses implicit ``ff'' notation for ranges
222                                  of three pages, and explicit ranges
223                                  thereafter: 2f, 2ff, 2--6.
224        ff-ranges-only  Add-on    Uses only implicit ranges: 2f, 2ff.
225        book-order      Add-on    Sorts page numbers with common book numbering
226                                  scheme correctly -- Roman numerals first, then
227                                  Arabic numbers, then others: i, 1, A.
228
229   Markup and Layout
230        tex             Auto      Handles basic TeX conventions.
231        latex-loc-fmts  Auto      Provides LaTeX formatting commands
232                                  for page number encapsulation.
233        latex           Auto      Handles LaTeX conventions, both in raw
234                                  index entries and output markup; implies
235                                  tex.
236        makeindex       Auto      Emulates the default MakeIndex input syntax
237                                  and quoting behavior.
238        latin-lettergroups Auto   Layout contains a single Latin letter
239                                  above each group of words starting with the
240                                  same letter.
241        german-sty      Add-on    Handles umlaut markup of babel's german
242                                  and ngerman options.
243

COMPATIBILITY TO MAKEINDEX

245       xindy does not claim to be completely compatible with MakeIndex, that
246       would prevent some of its enhancements. That said, we strive to deliver
247       as much compatibility as possible. The most important incompatibilities
248       are
249
250       •   For raw index entries in LaTeX syntax, "\index{aaa|bbb}" is
251           interpreted differently. For MakeIndex "bbb" is markup that is
252           output as a LaTeX tag for this page number. For xindy, this is a
253           location attribute, an abstract identifier that will be later
254           associated with markup that should be output for that attribute.
255
256           For straight-forward usage, when "bbb" is "textbf" or similar, we
257           supply location attribute definitions that mimic MakeIndex's
258           behaviour.
259
260           For more complex usage, when "bbb" is not an identifier, no such
261           compatibility definitions exist and may also not been created with
262           current xindy. Such a situation is reported to exist for the
263           "memoir" LaTeX class.
264
265           Programmers who know Common Lisp and Lex and want to work on a
266           remedy should please contact the author.
267
268       •   If you have an index rage and a location attribute, e.g.,
269           "\index{key\(attr}" starts the range, one needs (1) to specify that
270           attribute in the range closing entry as well (i.e., as
271           "\index{key\)attr}") and (2) one needs to declare the index
272           attribute in an xindy style file.
273
274           MakeIndex will output the markup "\attr{page1--page2}" for such a
275           construct. This is not possible to achieve in xindy, output will be
276           "\attrMarkup{page1}--\attrMarkup{page2}". (This is actually
277           considered a bug, but not a high priority one.)
278
279           The difference between MakeIndex page number tags and xindy
280           location attributes was already explained in the previous item.
281
282       •   The MakeIndex compatibility definitions support only the default
283           raw index syntax and markup definition. It is not possible to
284           configure raw index parsing or use a MakeIndex style file to
285           describe output markup.
286

ENVIRONMENT

288       "TEXINDY_AUTO_MODULE"
289           This is the name of the xindy module that loads all auto-loaded
290           modules. The default is "texindy".
291

AUTHOR

293       Joachim Schrod
294

LEGALESE

296       Copyright (c) 2004-2014 by Joachim Schrod.
297
298       texindy is free software; you can redistribute it and/or modify it
299       under the terms of the GNU General Public License as published by the
300       Free Software Foundation; either version 2 of the License, or (at your
301       option) any later version.
302
303       This program is distributed in the hope that it will be useful, but
304       WITHOUT ANY WARRANTY; without even the implied warranty of
305       MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
306       General Public License for more details.
307
308
309
310Release 2.5.1                     2020-05-28                        texindy(1)
Impressum