The style file format is very simple. It is a list of
<specifier, attribute> pairs.
There are two types of specifiers (input and output). The pairs
don't have to obey any particular order in the file. A line
lead by `%' is a comment. The
following is a list of all the specifiers and their respective
arguments where <string> is an
arbitrary string delimited by double quotes ("..."), <char> is
a single letter embraced by single quotes ('...'), and <number> is a nonnegative integer. The
maximum length of a <string> is
144. Notice that a backslash must be escaped (by an extra
backslash) in the string quotation. Anything not specified in
the style file will be assigned a default value, which is shown
on a separate line. This file can reside anywhere in the path
defined by the environment variable INDEXSTYLE.
6.2.1 Input Style
Specifiers
Default: @
The symbol which indicates that the next entry is to appear in
the actual index file.
Default: }
This is the closing delimiter for the index entry
argument.
Default: {
This is the opening delimiter for the index entry
argument.
Default: |
The symbol which indicates that the rest of the argument list is
to be used as the encapsulating command for the page
number.
Default: \\
The symbol which escapes the next letter, unless its preceding
letter is escape. In other words, quote is used to escape the
letter which immediately follows it. But if it is preceded by
escape, it does not escape anything.
Notice that the two symbols must be distinct.
Default: "\\indexentry"
This is the command which tells Make-Index that its argument is
an index entry.
Default: !
The delimiter which denotes a new level of subitem.
Default: "
quote is used to escape the letter
which immediately follows it, but if it is preceded by escape, it
is treated as a ordinary character. These two symbols must be
distinct.
6.2.1.9
range_close <char>
Default: )
The closing delimiter indicating the end of an explicit page
range.
6.2.1.10
range_open <char>
Default: (
The opening delimiter indicating the beginning of an explicit
page range.
6.2.2
Output Style Specifiers
6.2.2.1
page_compositor <string>
Default: "-"
This specifier is used to separate a range of page numbers.
Officially undocumented!
6.2.2.2 preamble
<string>
Default: "\\begin{theindex}\n"
The preamble of actual index file.
6.2.2.3 postamble
<string>
Default: "\n\n\\end{theindex}\n"
The postamble of actual index file.
6.2.2.4 setpage_prefix
<string>
Default: "\n \\setcounter{page}{"
The prefix of the command which sets the starting page
number.
6.2.2.5 setpage_suffix
<string>
Default: "}\n"
The suffix of the command which sets the starting page
number.
6.2.2.6
group_skip <string>
Default: "\n\n \\indexspace\n"
The vertical space to be inserted before a new group
begins.
6.2.2.7 heading_prefix
<string>
Default: ""
The header prefix to be inserted before a new letter
begins.
6.2.2.8 heading_suffix
<string>
Default: ""
The header suffix to be inserted before a new letter
begins.
6.2.2.9 headings_flag
<string>
Default: 0
The flag indicating the condition of inserting new letter
header. Default is 0, which means no header. Positive means insert
an uppercase letter between prefix and suffix. Negative means
insert a lowercase letter.
6.2.2.10 symhead_positive
<string>
Default: "Symbols"
Heading for symbols to be inserted if headings_flag is positive.
6.2.2.11 symhead_negative
<string>
Default: "symbols"
Heading for symbols to be inserted if headings_flag is negative.
6.2.2.12 numhead_positive
<string>
Default: "Numbers"
Heading for numbers to be inserted if headings_flag is positive.
6.2.2.13 numhead_negative
<string>
Default: "numbers"
Heading for numbers to be inserted if headings_flag is negative.
Default: "\n \\item "
The command to be inserted between two primary (level 0)
items.
Default: "\n \\subitem "
The command to be inserted between two secondary (level 1)
items.
Default: "\n \\subsubitem "
The command to be inserted between two level 2 items.
6.2.2.17
item_01 <string>
Default: "\n \\subitem "
The command to be inserted between a level 0 item and a level 1
item.
6.2.2.18
item_x1 <string>
Default: "\n \\subitem "
The command to be inserted between a level 0 item and a level 1
item. The difference between this and previous is that in this case
the level 0 item doesn't have any page numbers.
6.2.2.19
item_12 <string>
Default: "\n \\subsubitem "
The command to be inserted between a level 1 item and a level 2
item.
6.2.2.20
item_x2 <string>
Default: "\n \\subsubitem "
The command to be inserted between a level 1 item and a level 2
item. The difference between this and previous is that in this case
the level 1 item doesn't have any page numbers.
6.2.2.21
delim_0 <string>
Default: ", "
The delimiter to be inserted between a level 0 key and its first
page number. Default is a comma followed by a blank.
6.2.2.22
delim_1 <string>
Default: ", "
The delimiter to be inserted between a level 1 key and its first
page number. Default is a comma followed by a blank.
6.2.2.23
delim_2 <string>
Default: ", "
The delimiter to be inserted between a level 2 key and its first
page number. Default is a comma followed by a blank.
6.2.2.24
delim_n <string>
Default: ", "
The delimiter to be inserted between two page numbers for the
same key in any level. Default is a comma followed by a
blank.
6.2.2.25
delim_r <string>
Default: "--"
The delimiter to be inserted between the starting and ending
page numbers of a range.
6.2.2.26
delim_t <string>
Default: ""
The delimiter to be inserted at the end of a page list. This
delimiter has no effect on entries which have no associated page
list.
6.2.2.27 encap_prefix
<string>
Default: "\\"
The prefix for the command which encapsulates the page
number.
6.2.2.28 encap_infix
<string>
Default: "{"
The prefix for the command which encapsulates the page
number.
6.2.2.29 encap_suffix
<string>
Default: "}"
The suffix for the command which encapsulates the page
number.
6.2.2.30
line_max <number>
Default: 72
The maximum length of a line in the output beyond which a line
wraps around.
6.2.2.31 indent_space
<string>
Default: "\t\t"
The space to be inserted in front of a wrapped line. Default is
two tabs.
6.2.2.32 indent_length
<number>
Default: 16
The length of indent_space. In the default case this is 16 (for
2 tabs).
6.2.2.33
suffix_2p <string>
Default: ""
Delimiter to replace the range delimiter and the second page
number of a two page list. When present, it overrides
delim_r.
6.2.2.34
suffix_3p <string>
Default: ""
Delimiter to replace the range delimiter and the second page
number of a three page list. When present, it overrides
delim_r and suffix_mp.
6.2.2.35
suffix_mp <string>
Default: ""
Delimiter to replace the range delimiter and the second page
number of a multiple page list (three or more pages). When present,
it overrides delim_r.