1MAKEINDEX(1) TeX Live MAKEINDEX(1)
2
3
4
6 makeindex - a general purpose, formatter-independent index processor
7
9 makeindex [-c] [-g] [-i] [-l] [-o ind] [-p num] [-q] [-r] [-s sfile]
10 [-t log] [-L] [-T] [idx0 idx1 idx2...]
11
13 The program makeindex is a general purpose hierarchical index genera‐
14 tor; it accepts one or more input files (often produced by a text for‐
15 matter such as TeX (tex(1L)) or troff(1), sorts the entries, and pro‐
16 duces an output file which can be formatted. The index can have up to
17 three levels (0, 1, and 2) of subitem nesting. The way in which words
18 are flagged for indexing within the main document is specific to the
19 formatter used; makeindex does not automate the process of selecting
20 these words. As the output index is hierarchical, makeindex can be
21 considered complementary to the awk(1)-based make.index(1L) system of
22 Bentley and Kernighan, which is specific to troff(1), generates non-
23 hierarchical indices, and employs a much simpler syntax for indicating
24 index entries. For illustration of use with troff and TeX, see the
25 section EXAMPLES below.
26
27 The formats of the input and output files are specified in a style
28 file; by default, input is assumed to be a .idx file, as generated by
29 LaTeX.
30
31 Unless specified explicitly, the base name of the first input file
32 (idx0) is used to determine the names of other files. For each input
33 file name specified, a file of that name is sought. If this file is
34 not found and the file name has no extension, the extension .idx is
35 appended. If no file with this name is found, makeindex aborts.
36
37 If exactly one input file was given and no explicit style file was
38 specified using -s, makeindex uses a file with the extension .mst as
39 default style file (when present).
40
41 For important notes on how to select index keywords, see the document
42 by Lamport cited below. As an issue separate from selecting index key‐
43 words, a systematic mechanism for placing index terms in a document is
44 suggested in Index Preparation and Processing, a paper cited below.
45
47 -c Compress intermediate blanks (ignoring leading and trailing
48 blanks and tabs). By default, blanks in the index key are
49 retained.
50
51 -g Employ German word ordering in the index, in accord with
52 rules set forth in DIN 5007. By default, makeindex employs a
53 word ordering in which precedence is: symbols, numbers,
54 uppercase letters, lowercase letters. The sequence in German
55 word ordering is: symbols, lowercase letters, uppercase let‐
56 ters, numbers. Additionally, this option enables makeindex
57 to recognize the German TeX-commands {"a, "o, "u and "s} as
58 {ae, oe, ue and ss} during the sorting of the entries. The
59 quote character must be redefined in a style file (for exam‐
60 ple, redefine quote as '+'). If the quote character is not
61 redefined, makeindex will produce an error message and abort.
62
63 -i Take input from stdin. When this option is specified and -o
64 is not, output is written to stdout.
65
66 -l Letter ordering; by default, word ordering is used (see the
67 ORDERING section).
68
69 -o ind Employ ind as the output index file. By default, the file
70 name is created by appending the extension .ind to the base
71 name of the first input file (idx0).
72
73 -p num Set the starting page number of the output index file to be
74 num (useful when the index file is to be formatted sepa‐
75 rately). The argument num may be numerical or one of the
76 following:
77
78 any The starting page is the last source page number
79 plus 1.
80
81 odd The starting page is the first odd page following
82 the last source page number.
83
84 even The starting page is the first even page following
85 the last source page number.
86
87 The last source page is obtained by searching backward in the
88 log file for the first instance of a number included within
89 paired square brackets ([...]). If a page number is missing
90 or the log file is not found, no attempt will be made to set
91 the starting page number. The source log file name is deter‐
92 mined by appending the extension .log to the base name of the
93 first input file (idx0).
94
95 -q Quiet mode; send no messages to stderr. By default, progress
96 and error messages are sent to stderr as well as to the tran‐
97 script file.
98
99 -r Disable implicit page range formation; page ranges must be
100 created by using explicit range operators; see SPECIAL
101 EFFECTS below. By default, three or more successive pages
102 are automatically abbreviated as a range (e.g. 1—5).
103
104 -s sty Employ sty as the style file (no default). The environment
105 variable INDEXSTYLE defines the path where the style file
106 should be found.
107
108 -t log Employ log as the transcript file. By default, the file name
109 is created by appending the extension .ilg to the base name
110 of the first input file (idx0).
111
112 -L sort based on locale settings. Not available on all systems.
113
114 -T special support for Thai documents. Not available on all sys‐
115 tems.
116
118 The style file informs makeindex about the format of the .idx input
119 files and the intended format of the final output file; examples appear
120 below. This file can reside anywhere in the path defined by the envi‐
121 ronment variable INDEXSTYLE. The style file contains a list of <speci‐
122 fier, attribute> pairs. There are two types of specifiers: input and
123 output. Pairs do not have to appear in any particular order. A line
124 begun by `%' is a comment. In the following list of specifiers and
125 arguments, <string> is an arbitrary string delimited by double quotes
126 ("..."), <char> is a single letter embraced by single quotes ('...'),
127 and <number> is a nonnegative integer. The maximum length of a
128 <string> is 2048. A literal backslash or quote must be escaped (by a
129 backslash). Anything not specified in the style file will be assigned
130 a default value, which is shown at the head of the rightmost column.
131
132 INPUT STYLE SPECIFIERS
133 actual <char> ´@´
134 Symbol indicating that the next entry is to
135 appear in the output file.
136
137 arg_close <char> ´}´
138 Closing delimiter for the index entry argu‐
139 ment.
140
141 arg_open <char> ´{´
142 Opening delimiter for the index entry argu‐
143 ment.
144
145 encap <char> ´|´
146 Symbol indicating that the rest of the argu‐
147 ment list is to be used as the encapsulating
148 command for the page number.
149
150 escape <char> ´\\´
151 Symbol which escapes the following letter,
152 unless its preceding letter is escape. Note:
153 quote is used to escape the letter which imme‐
154 diately follows it, but if it is preceded by
155 escape, it is treated as a ordinary character.
156 These two symbols must be distinct.
157
158 keyword <string> "\\indexentry"
159 Command which tells makeindex that its argu‐
160 ment is an index entry.
161
162 level <char> ´!´
163 Delimiter denoting a new level of subitem.
164
165 page_compositor <string> "-"
166 Delimiter separating parts of a composite page
167 number (see SPECIAL EFFECTS below).
168
169 quote <char> ´"´
170 Note: quote is used to escape the letter which
171 immediately follows it, but if it is preceded
172 by escape, it is treated as a ordinary charac‐
173 ter. These two symbols must be distinct.
174
175 range_close <char> ´)´
176 Closing delimiter indicating the end of an
177 explicit page range.
178
179 range_open <char> ´(´
180 Opening delimiter indicating the beginning of
181 an explicit page range.
182
183 OUTPUT STYLE SPECIFIERS
184 preamble <string> "\\begin{theindex}\n"
185 Preamble of output file.
186
187 postamble <string> "\n\n\\end{theindex}\n"
188 Postamble of output file.
189
190 setpage_prefix <string> "\n \\setcounter{page}{"
191 Prefix of command which sets the starting page
192 number.
193
194 setpage_suffix <string> "}\n"
195 Suffix of command which sets the starting page
196 number.
197
198 group_skip <string> "\n\n \\indexspace\n"
199 Vertical space to be inserted before a new
200 group begins.
201
202 headings_flag <string> 0
203 Flag indicating treatment of new group head‐
204 ers, which are inserted when before a new
205 group (symbols, numbers, and the 26 letters):
206 positive values cause an uppercase letter to
207 be inserted between prefix and suffix, and
208 negative values cause a lowercase letter to be
209 inserted (default is 0, which produces no
210 header).
211
212 heading_prefix <string> ""
213 Letter heading prefix to be inserted before a
214 new letter begins.
215
216 heading_suffix <string> ""
217 Letter heading suffix to be inserted when a
218 new letter begins.
219
220 symhead_positive <string>
221 "Symbols"
222 Heading for symbols to be inserted if head‐
223 ings_flag is positive.
224
225 symhead_negative <string>
226 "symbols"
227 Heading for symbols to be inserted if head‐
228 ings_flag is negative.
229
230 numhead_positive <string>
231 "Numbers"
232 Heading for numbers to be inserted if head‐
233 ings_flag is positive.
234
235 numhead_negative <string>
236 "numbers"
237 Heading for numbers to be inserted if head‐
238 ings_flag is negative.
239
240 item_0 <string> "\n \\item "
241 Command to be inserted between two primary
242 (level 0) items.
243
244 item_1 <string> "\n \\subitem "
245 Command to be inserted between two secondary
246 (level 1) items.
247
248 item_2 <string> "\n \\subsubitem "
249 Command to be inserted between two level 2
250 items.
251
252 item_01 <string> "\n \\subitem "
253 Command to be inserted between a level 0 item
254 and a level 1 item.
255
256 item_x1 <string> "\n \\subitem "
257 Command to be inserted between a level 0 item
258 and a level 1 item, where the level 0 item
259 does not have associated page numbers.
260
261 item_12 <string> "\n \\subsubitem "
262 Command to be inserted between a level 1 item
263 and a level 2 item.
264
265 item_x2 <string> "\n \\subsubitem "
266 Command to be inserted between a level 1 item
267 and a level 2 item, where the level 1 item
268 does not have associated page numbers.
269
270 delim_0 <string> ", "
271 Delimiter to be inserted between a level 0 key
272 and its first page number (default: comma fol‐
273 lowed by a blank).
274
275 delim_1 <string> ", "
276 Delimiter to be inserted between a level 1 key
277 and its first page number (default: comma fol‐
278 lowed by a blank).
279
280 delim_2 <string> ", "
281 Delimiter to be inserted between a level 2 key
282 and its first page number (default: comma fol‐
283 lowed by a blank).
284
285 delim_n <string> ", "
286 Delimiter to be inserted between two page num‐
287 bers for the same key in any level (default:
288 comma followed by a blank).
289
290 delim_r <string> "--"
291 Delimiter to be inserted between the starting
292 and ending page numbers of a range.
293
294 delim_t <string> ""
295 Delimiter to be inserted at the end of a page
296 list. This delimiter has no effect on entries
297 which have no associated page list.
298
299 encap_prefix <string> "\\"
300 First part of prefix for the command which
301 encapsulates the page number.
302
303 encap_infix <string> "{"
304 Second part of prefix for the command which
305 encapsulates the page number.
306
307 encap_suffix <string> "}".
308 Suffix for the command which encapsulates the
309 page number.
310
311 page_precedence <string> "rnaRA".
312 Page type precedence order. The default spec‐
313 ifies: lowercase roman, numeric/arabic, lower‐
314 case alphabetic, uppercase roman, uppercase
315 alphabetic.
316
317 line_max <number> 72
318 Maximum length of a line in the output, beyond
319 which a line wraps.
320
321 indent_space <string> "\t\t"
322 Space to be inserted in front of a wrapped
323 line (default: two tabs).
324
325 indent_length <number> 16
326 Length of indent_space (default: 16, equiva‐
327 lent to 2 tabs).
328
329 suffix_2p <string> ""
330 Delimiter to replace the range delimiter and
331 the second page number of a two page list.
332 When present, it overrides delim_r. Example:
333 "f.".
334
335 suffix_3p <string> ""
336 Delimiter to replace the range delimiter and
337 the second page number of a three page list.
338 When present, it overrides delim_r and suf‐
339 fix_mp. Example: "ff.".
340
341 suffix_mp <string> ""
342 Delimiter to replace the range delimiter and
343 the second page number of a multiple page list
344 (three or more pages). When present, it over‐
345 rides delim_r. Example: "f.".
346
348 TeX EXAMPLE
349 The following example shows a style file called book.ist, which defines
350 an index for a book which can be formatted independently of the main
351 source:
352
353 preamble
354 "\\documentstyle[12pt]{book}
355 \\begin{document}
356 \\begin{theindex}
357 {\\small\n"
358 postamble
359 "\n\n}
360 \\end{theindex}
361 \\end{document}\n"
362
363 Assuming that a particular book style requires the index (as well as
364 any chapters) to start from an odd page number, and that the input file
365 is named foo.idx, the following command line produces output in file
366 footmp.ind:
367
368 makeindex -s book.ist -o footmp.ind -p odd foo
369
370 Here a non-default output file name is used to avoid clobbering the
371 output for the book itself (presumably foo.dvi, which would have been
372 the default name for the index output file!).
373
374 TROFF EXAMPLE
375 A sample control file for creating an index, which we will assume
376 resides in the file sample.ist:
377
378 keyword "IX:"
379 preamble
380 ".\\\" start of index output
381 \".\\\" enter two column mode
382 .2C
383 .SH
384 .ce
385 INDEX
386 .XS
387 INDEX
388 .XE
389 .R
390 .ps 9p
391 .vs 11p
392 .sp
393 .de I1
394 .ti 0.25i
395 ..
396 .de I2
397 .ti 0.5i
398 .."
399 postamble "\n.\\\" end of index output"
400 setpage_prefix "\n.nr % "
401 setpage_suffix ""
402 group_skip "\n.sp 1.0"
403 headings_flag 1
404 heading_prefix "\n.IS\n"
405 heading_suffix "\n.IE"
406 item_0 "\n.br\n"
407 item_1 "\n.I1\n"
408 item_2 "\n.I2\n"
409 item_01 "\n.I1\n"
410 item_x1 "\n.I1\n"
411 item_12 "\n.I2\n"
412 item_x2 "\n.I2\n"
413 delim_0 ", "
414 delim_1 ", "
415 delim_2 ", "
416 delim_r "-"
417 delim_t "."
418 encap_prefix "\\fB"
419 encap_infix ""
420 encap_suffix "\\fP"
421 indent_space ""
422 indent_length 0
423
424 The local macro package may require modification, as in this example of
425 an extension to the -ms macros (note that at some sites, this macro
426 should replace a pre-existing macro of the same name):
427
428 .
429 .de IX
430 .ie '\\n(.z'' .tm IX: \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 {\\n(PN}
431 .el \\!.IX \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 {\\n(PN}
432 ..
433
434 (note that the string {\\n(PN} is separated from the rest of the line
435 by a tab. If your local macro package does not contain this extension,
436 just include those lines at the beginning of your file. Here is a sim‐
437 ple troff(1) input file, which we will assume is named sample.txt:
438
439 This is a sample file to test the \fImakeindex\fP(1L)
440 program, and see
441 .IX {indexing!programs!C language}
442 .IX {makeindex@\fImakeindex\fP(1L)}
443 .bp
444 .rs
445 .IX {Knuth}
446 .IX {typesetting!computer-aided}
447 how well it functions in the \fItroff\fP(1) environment.
448
449 Note that index entries are indicated by the .IX macro, which causes
450 the following text to be written to stdout along with the current page
451 number.
452
453 CREATING THE INDEX FILE IN THE BOURNE SHELL
454 To create an input file for makeindex, in the Bourne shell environment,
455 do the equivalent at your site of the command:
456
457 psroff -ms -Tpsc -t sample.txt > /dev/null 2> sample.tmp
458
459 Some sites will require ditroff instead of psroff. To filter out any
460 genuine error messages, invoke grep(1):
461
462 grep '^IX: ' sample.tmp > sample.idx
463
464 CREATING THE INDEX FILE USING UCSF ENHANCED TROFF/TRANSCRIPT
465 With UCSF Enhanced troff/TRANSCRIPT, the -I option of psroff(1L) can
466 produce both formatter output and an index file:
467
468 psroff -ms -I sample.inp -Tpsc sample.txt
469
470 If it is wished to suppress the formatter output:
471
472 psroff -ms -I sample.inp -Tpsc -t sample.txt > /dev/null
473
474 COMPLETING THE INDEX
475 Any of the above procedures leaves the input for makeindex in sam‐
476 ple.inp. The next step is to invoke makeindex:
477
478 makeindex -s sample.ist sample.idx
479
480 This leaves troff(1)-ready output in the file sample.ind.
481
483 By default, makeindex assumes word ordering; if the -l option is in
484 effect, letter ordering is used. In word ordering, a blank precedes
485 any letter in the alphabet, whereas in letter ordering, it does not
486 count at all. This is illustrated by the following example:
487
488 word order letter order
489 sea lion seal
490 seal sea lion
491
492 Numbers are always sorted in numeric order. For instance,
493
494 9 (nine), 123
495 10 (ten), see Derek, Bo
496
497 Letters are first sorted without regard to case; when words are identi‐
498 cal, the uppercase version precedes its lowercase counterpart.
499
500 A special symbol is defined here to be any character not appearing in
501 the union of digits and the English alphabetic characters. Patterns
502 starting with special symbols precede numbers, which precede patterns
503 starting with letters. As a special case, a string starting with a
504 digit but mixed with non-digits is considered to be a pattern starting
505 with a special character.
506
508 Entries such as
509
510 \indexentry{alpha}{1}
511 \indexentry{alpha!beta}{3}
512 \indexentry{alpha!beta!gamma}{10}
513
514 in the input file will be converted to
515
516 \item alpha, 1
517 \subitem beta, 3
518 \subsubitem gamma, 10
519
520 in the output index file. Notice that the level symbol (`!') is used
521 above to delimit hierarchical levels.
522
523 It is possible to make an item appear in a designated form by using the
524 actual (`@') operator. For instance,
525
526 \indexentry{alpha@{\it alpha\/}}{1}
527
528 will become
529
530 \item {\it alpha\/}, 1
531
532 after processing. The pattern preceding `@' is used as sort key,
533 whereas the one following it is written to the output file. Note that
534 two appearances of the same key, one with and one without the actual
535 operator, are regarded as distinct entries.
536
537 The item, subitem, and subsubitem fields may have individual sort keys:
538
539 \indexentry{aa@{\it aa\/}!bb@{\it bb\/}!cc@{\it cc\/}}{1}
540
541 This will be converted to
542
543 \item {\it aa}, 1
544 \subitem {\it bb}, 3
545 \subsubitem {\it cc}, 10
546
547 It is possible to encapsulate a page number with a designated command
548 using the encap (`|') operator:
549
550 \indexentry{alpha|bold}{1}
551
552 will be converted to
553
554 \item alpha, \bold{1}
555
556 where, with a suitable definition for TeX, \bold{n} will expand to {\bf
557 n}. In this example, the three output attributes associated with page
558 encapsulation encap_prefix, encap_infix, and encap_suffix, correspond
559 to backslash, left brace, and right brace, respectively. This mecha‐
560 nism allows page numbers to be set in different fonts. For example,
561 the page where the definition of a keyword appears can be in one font,
562 the location of a primary example can be in another font, and other
563 appearances in yet a third font.
564
565 The encap operator can also be used to create cross references in the
566 index:
567
568 \indexentry{alpha|see{beta}}{1}
569
570 will become
571
572 \item alpha, \see{beta}{1}
573
574 in the output file, where
575
576 \see{beta}{1}
577
578 will expand to
579
580 {\it see\/} beta
581
582 Note that in a cross reference like this the page number disappears.
583
584 A pair of encap concatenated with range_open (`|(') and range_close
585 (`|)') creates an explicit page range:
586
587 \indexentry{alpha|(}{1}
588 \indexentry{alpha|)}{5}
589
590 will become
591
592 \item alpha, 1—5
593
594 Intermediate pages indexed by the same key will be merged into the
595 range implicitly. This is especially useful when an entire section
596 about a particular subject is to be indexed, in which case only the
597 range opening and closing operators need to be inserted at the begin‐
598 ning and end of the section. Explicit page range formation can also
599 include an extra command to set the page range in a designated font:
600
601 \indexentry{alpha|(bold}{1}
602 \indexentry{alpha|)}{5}
603
604 will become
605
606 \item alpha, \bold{1--5}
607
608 Several potential problems are worth mentioning. First, entries like
609
610 \indexentry{alpha|(}{1}
611 \indexentry{alpha|bold}{3}
612 \indexentry{alpha|)}{5}
613
614 will be interpreted as
615
616 \item alpha, \bold{3}, 1--5
617
618 but with a warning message in the transcript about encountering an
619 inconsistent page encapsulator. An explicit range beginning in a Roman
620 page number and ending in Arabic is also considered an error. In this
621 instance, (if possible) the range is broken into two subranges, one in
622 Roman and the other in Arabic. For instance,
623
624 \indexentry{alpha|(}{i}
625 \indexentry{alpha}{iv}
626 \indexentry{alpha}{3}
627 \indexentry{alpha|)}{7}
628
629 will be turned into
630
631 \item alpha, i--iv, 3--7
632
633 with a warning message in the transcript file complaining about an
634 illegal range formation.
635
636 Every special symbol mentioned in this section may be escaped by the
637 quote operator (`"'). Thus
638
639 \indexentry{alpha"@beta}{1}
640
641 will actually become
642
643 \item alpha@beta, 1
644
645 as a result of executing makeindex. The quoting power of quote is
646 eliminated if it is immediately preceded by escape (`\'). For example,
647
648 \indexentry{f\"ur}{1}
649
650 becomes
651
652 \item f\"ur, 1
653
654 which represents an umlaut-accented `u' to the TeX family of proces‐
655 sors.
656
657 A page number can be a composite of one or more fields separated by the
658 delimiter bound to page_compositor (`-'), e.g., II-12 for page 12 of
659 Chapter II. Page numbers may contain up to ten fields.
660
661 Since version 2.11 of makeindex, the quote operator may quote any char‐
662 acter in the range 1 ... 255. Character 0 is excluded because it is
663 used internally in the makeindex source code as a string terminator.
664 With this change, sort keys can be created for all eight-bit characters
665 except 0. The sorting order is
666
667 punctuation characters (in ASCII order),
668 digits,
669 control characters (1 ... 31),
670 space (32),
671 letters (ignoring case),
672 characters 127 ... 255.
673
674 Here is an example showing the indexing of all printable ASCII charac‐
675 ters other than letters and digits, assuming the default TeX format.
676 For convenience, the page number references are the corresponding ASCII
677 ordinal values.
678
679 \indexentry{" @" (space)}{32}
680 \indexentry{"!@"! (exclamation point)}{33}
681 \indexentry{""@"" (quotation mark)}{34}
682 \indexentry{"#@"\# (sharp sign)}{35}
683 \indexentry{"$@"\$ (dollar sign)}{36}
684 \indexentry{"%@"\% (percent sign)}{37}
685 \indexentry{"&@"\& (ampersand)}{38}
686 \indexentry{"<@"$<$ (left angle bracket)}{60}
687 \indexentry{"=@"= (equals)}{61}
688 \indexentry{">@"$>$ (right angle bracket)}{62}
689 \indexentry{"?@"? (query)}{63}
690 \indexentry{"@@"@ (at sign)}{64}
691 \indexentry{"[@"[ (left square bracket)}{91}
692 \indexentry{"\@"\verb=\= (backslash)}{92}
693 \indexentry{"]@"] (right square bracket)}{93}
694 \indexentry{"^@"\verb=^= (caret)}{94}
695 \indexentry{"_@"\verb=_= (underscore)}{95}
696 \indexentry{"`@"\verb=~= (grave accent)}{96}
697 \indexentry{"{@"\"{ (left brace)}{123}
698 \indexentry{"|@"\verb="|= (vertical bar)}{124}
699 \indexentry{"}@"\"} (right brace)}{125}
700 \indexentry{"~@"\verb=~= (tilde)}{126}
701
702 Characters in the actual fields following the `@' character which have
703 special significance to TeX must be represented as control sequences,
704 or as math mode characters. Note particularly how the entries for the
705 at sign, left and right braces, and the vertical bar, are coded. The
706 index file output by makeindex for this example looks like this:
707
708 \begin{theindex}
709
710 \item ! (exclamation point), 33
711 \item " (quotation mark), 34
712 \item \# (sharp sign), 35
713 \item \$ (dollar sign), 36
714 \item \% (percent sign), 37
715 \item \& (ampersand), 38
716 \item $<$ (left angle bracket), 60
717 \item = (equals), 61
718 \item $>$ (right angle bracket), 62
719 \item ? (query), 63
720 \item @ (at sign), 64
721 \item [ (left square bracket), 91
722 \item \verb=\= (backslash), 92
723 \item ] (right square bracket), 93
724 \item \verb=^= (caret), 94
725 \item \verb=_= (underscore), 95
726 \item \verb=~= (grave accent), 96
727 \item \{ (left brace), 123
728 \item \verb=|= (vertical bar), 124
729 \item \} (right brace), 125
730 \item \verb=~= (tilde), 126
731
732 \indexspace
733
734 \item (space), 32
735
736 \end{theindex}
737
739 makeindex executable file
740
741 $TEXMFMAIN/tex/plain/makeindex/idxmac.tex
742 TeX macro file used by makeindex
743
744 $TEXMFMAIN/tex/latex/base/makeidx.sty
745 TeX macro file used by makeindex
746
748 ditroff(1L), latex(1L), make.index (1L), qsort(3), tex(1L), troff(1L)
749
750 UCSF Enhanced troff/TRANSCRIPT — An Overview, R. P. C. Rodgers and Con‐
751 rad Huang, LSMB Technical Report 90-2, UCSF School of Pharmacy, San
752 Francisco, 1990.
753
754 Index Preparation and Processing, Pehong Chen and Michael A. Harrison,
755 Software: Practice and Experience, 19(9), 897–915, September 1988.
756
757 Automating Index Preparation, Pehong Chen and Michael A. Harrison.
758 Technical Report 87/347, Computer Science Division, University of Cali‐
759 fornia, Berkeley, 1987 (a LaTeX document supplied with makeindex).
760
761 MakeIndex: An Index Processor for LaTeX, Leslie Lamport, February 1987
762 (a LaTeX document supplied with makeindex).
763
764 Tools for Printing Indices, Jon L. Bentley and Brian W. Kernighan,
765 Electronic Publishing — Origination, Dissemination, and Design, 1(1),
766 3–18, June 1988 (also available as: Computing Science Technical Report
767 No. 128, AT&T Bell Laboratories, Murray Hill, NJ 07974, 1986).
768
770 Pehong Chen, Chen & Harrison International Systems, Inc. Palo Alto,
771 California, USA.
772 Manual page extensively revised and corrected, and troff(1) examples
773 created by Rick P. C. Rodgers, UCSF School of Pharmacy.
774
776 Leslie Lamport contributed significantly to the design of MakeIndex.
777 Michael Harrison provided valuable comments and suggestions. Nelson
778 Beebe improved on the portable version, and maintained the source dis‐
779 tribution for the TeX Users Group for many years. Andreas Brosig con‐
780 tributed to the German word ordering. The modification to the -ms
781 macros was derived from a method proposed by Ravi Sethi of AT&T Bell
782 Laboratories. The LOG and CONTRIB files in the makeindex source dis‐
783 tribution record other contributions.
784
785 makeindex is currently maintained as part of the TeX Live distribution
786 (http://tug.org/texlive); please send bug reports to tex-k@tug.org.
787
788
789
790TeX Live 12 November 2014 MAKEINDEX(1)