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