Synopsis, one of:
makeindex filename makeindex -s style-file filename makeindex options filename0 ...
Sort, and otherwise process, the index information in the auxiliary file filename. This is a command line program. It takes one or more raw index files, filename.idx files, and produces the actual index file, the filename.ind file that is input by \printindex
(see \printindex).
The first form of the command suffices for many uses. The second allows you to format the index by using an index style file, a .isty file. The third form is the most general; see the full documentation on CTAN.
This is a simple .isty file.
% book.isty % $ makeindex -s book.isty -p odd book.idx % creates the index as book.ind, starting on an odd page. preamble "\\pagestyle{empty} \\small \\begin{theindex} \\thispagestyle{empty}" postamble "\n \\end{theindex}"
The description here covers only some of the index formatting possibilities in style-file. For a full list see the documentation on CTAN.
A style file consists of a list of pairs: specifier and attribute. These can appear in the file in any order. All of the attributes are strings, except where noted. Strings are surrounded with double quotes, "
, and the maximum length of a string is 144 characters. The \n
is for a newline and \t
is for a tab. Backslashes are escaped with another backslash, \\
. If a line begins with a percent sign, %
, then it is a comment.
preamble
Preamble of the output file. Defines the context in which the index is formatted. Default: "\\begin{theindex}\n"
.
postamble
Postamble of the output file. Default: "\n\n\\end{theindex}\n"
.
group_skip
Traditionally index items are broken into groups, typically a group for entries starting with ‘a’, etc. This specifier gives what is inserted when a new group begins. Default: "\n\n \\indexspace\n"
(\indexspace
is a command inserting a rubber length, by default 10pt plus5pt minus3pt
).
lethead_flag
An integer. It governs what is inserted for a new group or letter. If it is 0 (which is the default) then other than group_skip
nothing will be inserted before the group. If it is positive then at a new letter the lethead_prefix
and lethead_suffix
will be inserted, with that letter in uppercase between them. If it is negative then what will be inserted is the letter in lowercase. The default is 0.
lethead_prefix
If a new group begins with a different letter then this is the prefix inserted before the new letter header. Default: ""
lethead_suffix
If a group begins with a different letter then this is the suffix inserted after the new letter header. Default: ""
.
item_0
What is put between two level 0 items. Default: "\n \\item
"
.
item_1
Put between two level 1 items. Default: "\n \\subitem "
.
item_2
put between two level 2 items. Default: "\n \\subsubitem "
.
item_01
What is put between a level 0 item and a level 1 item. Default: "\n \\subitem "
.
item_x1
What is put between a level 0 item and a level 1 item in the case that the level 0 item doesn’t have any page numbers (as in \index{aaa|see{bbb}}
). Default: "\n \\subitem "
.
item_12
What is put between a level 1 item and a level 2 item. Default: "\n \\subsubitem "
.
item_x2
What is put between a level 1 item and a level 2 item, if the level 1 item doesn’t have page numbers. Default: "\n
\\subsubitem "
.
delim_0
Delimiter put between a level 0 key and its first page number. Default: a comma followed by a blank, ", "
.
delim_1
Delimiter put between a level 1 key and its first page number. Default: a comma followed by a blank, ", "
.
delim_2
Delimiter between a level 2 key and its first page number. Default: a comma followed by a blank, ", "
.
delim_n
Delimiter between two page numbers for the same key (at any level). Default: a comma followed by a blank, ", "
.
delim_r
What is put between the starting and ending page numbers of a range. Default: "--"
.
line_max
An integer. Maximum length of an index entry’s line in the output, beyond which the line wraps. Default: 72
.
indent_space
What is inserted at the start of a wrapped line. Default: "\t\t"
.
indent_length
A number. The length of the wrapped line indentation. The default indent_space
is two tabs and each tab is eight spaces so the default here is 16
.
page_precedence
A document may have pages numbered in different ways. For example, a book may have front matter pages numbered in lowercase roman while main matter pages are in arabic. This string specifies the order in which they will appear in the index. The makeindex
command supports five different types of numerals: lowercase roman r
, and numeric or arabic n
, and lowercase alphabetic a
, and uppercase roman R
, and uppercase alphabetic A
. Default: "rnaRA"
.
There are a number of other programs that do the job makeindex
does. One is xindy
, which does internationalization and can process indexes for documents marked up using LaTeX and a number of other languages. It is highly configurable, both in markup terms and in terms of the collating order of the text, as described in its documentation.
© 2007–2018 Karl Berry
Public Domain Software
http://latexref.xyz/makeindex.html