1MAKEINDEX(1)                       TeX Live                       MAKEINDEX(1)
2
3
4

NAME

6       makeindex - a general purpose, formatter-independent index processor
7

SYNOPSIS

9       makeindex  [-c]  [-g]  [-i] [-l] [-o ind] [-p num] [-q] [-r] [-s sfile]
10       [-t log] [-L] [-T] [idx0 idx1 idx2...]
11

DESCRIPTION

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 complimentary 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

OPTIONS

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

STYLE FILE

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                                Header prefix to be inserted before a new let‐
214                                ter begins.
215
216       symhead_positive <string>
217                                "Symbols"
218                                Heading  for  symbols  to be inserted if head‐
219                                ings_flag is positive.
220
221       symhead_negative <string>
222                                "symbols"
223                                Heading for symbols to be  inserted  if  head‐
224                                ings_flag is negative.
225
226       numhead_positive <string>
227                                "Numbers"
228                                Heading  for  numbers  to be inserted if head‐
229                                ings_flag is positive.
230
231       numhead_negative <string>
232                                "numbers"
233                                Heading for numbers to be  inserted  if  head‐
234                                ings_flag is negative.
235
236       item_0 <string>          "\n  \\item "
237                                Command  to  be  inserted  between two primary
238                                (level 0) items.
239
240       item_1 <string>          "\n     \\subitem "
241                                Command to be inserted between  two  secondary
242                                (level 1) items.
243
244       item_2 <string>          "\n       \\subsubitem "
245                                Command  to  be  inserted  between two level 2
246                                items.
247
248       item_01  <string>        "\n    \\subitem "
249                                Command to be inserted between a level 0  item
250                                and a level 1 item.
251
252       item_x1 <string>         "\n    \\subitem "
253                                Command  to be inserted between a level 0 item
254                                and a level 1 item, where  the  level  0  item
255                                does not have associated page numbers.
256
257       item_12 <string>         "\n    \\subsubitem "
258                                Command  to be inserted between a level 1 item
259                                and a level 2 item.
260
261       item_x2 <string>         "\n    \\subsubitem "
262                                Command to be inserted between a level 1  item
263                                and  a  level  2  item, where the level 1 item
264                                does not have associated page numbers.
265
266       delim_0 <string>         ", "
267                                Delimiter to be inserted between a level 0 key
268                                and its first page number (default: comma fol‐
269                                lowed by a blank).
270
271       delim_1 <string>         ", "
272                                Delimiter to be inserted between a level 1 key
273                                and its first page number (default: comma fol‐
274                                lowed by a blank).
275
276       delim_2 <string>         ", "
277                                Delimiter to be inserted between a level 2 key
278                                and its first page number (default: comma fol‐
279                                lowed by a blank).
280
281       delim_n <string>         ", "
282                                Delimiter to be inserted between two page num‐
283                                bers  for  the same key in any level (default:
284                                comma followed by a blank).
285
286       delim_r <string>         "--"
287                                Delimiter to be inserted between the  starting
288                                and ending page numbers of a range.
289
290       delim_t <string>         ""
291                                Delimiter  to be inserted at the end of a page
292                                list.  This delimiter has no effect on entries
293                                which have no associated page list.
294
295       encap_prefix <string>    "\\"
296                                First  part  of  prefix  for the command which
297                                encapsulates the page number.
298
299       encap_infix <string>     "{"
300                                Second part of prefix for  the  command  which
301                                encapsulates the page number.
302
303       encap_suffix <string>    "}".
304                                Suffix  for the command which encapsulates the
305                                page number.
306
307       line_max <number>        72
308                                Maximum length of a line in the output, beyond
309                                which a line wraps.
310
311       indent_space <string>    "\t\t"
312                                Space  to  be  inserted  in front of a wrapped
313                                line (default: two tabs).
314
315       indent_length <number>   16
316                                Length of indent_space (default:  16,  equiva‐
317                                lent to 2 tabs).
318
319       suffix_2p <string>       ""
320                                Delimiter  to  replace the range delimiter and
321                                the second page number of  a  two  page  list.
322                                When  present, it overrides delim_r.  Example:
323                                "f.".
324
325       suffix_3p <string>       ""
326                                Delimiter to replace the range  delimiter  and
327                                the  second  page number of a three page list.
328                                When present, it overrides  delim_r  and  suf‐
329                                fix_mp.  Example: "ff.".
330
331       suffix_mp <string>       ""
332                                Delimiter  to  replace the range delimiter and
333                                the second page number of a multiple page list
334                                (three  or more pages). When present, it over‐
335                                rides delim_r.  Example: "f.".
336

EXAMPLES

338   TeX EXAMPLE
339       The following example shows a style file called book.ist, which defines
340       an  index  for  a book which can be formatted independently of the main
341       source:
342
343              preamble
344              "\\documentstyle[12pt]{book}
345              \\begin{document}
346              \\begin{theindex}
347              {\\small\n"
348              postamble
349              "\n\n}
350              \\end{theindex}
351              \\end{document}\n"
352
353       Assuming that a particular book style requires the index  (as  well  as
354       any chapters) to start from an odd page number, and that the input file
355       is named foo.idx, the following command line produces  output  in  file
356       footmp.ind:
357
358              makeindex  -s book.ist  -o footmp.ind  -p odd  foo
359
360       Here  a  non-default  output  file name is used to avoid clobbering the
361       output for the book itself (presumably foo.dvi, which would  have  been
362       the default name for the index output file!).
363
364   TROFF EXAMPLE
365       A  sample  control  file  for  creating  an index, which we will assume
366       resides in the file sample.ist:
367
368              keyword "IX:"
369              preamble
370              ".\\\" start of index output
371              \".\\\" enter two column mode
372              .2C
373              .SH
374              .ce
375              INDEX
376              .XS
377              INDEX
378              .XE
379              .R
380              .ps 9p
381              .vs 11p
382              .sp
383              .de I1
384              .ti 0.25i
385              ..
386              .de I2
387              .ti 0.5i
388              .."
389              postamble "\n.\\\" end of index output"
390              setpage_prefix "\n.nr % "
391              setpage_suffix ""
392              group_skip "\n.sp 1.0"
393              headings_flag 1
394              heading_prefix "\n.IS\n"
395              heading_suffix "\n.IE"
396              item_0 "\n.br\n"
397              item_1 "\n.I1\n"
398              item_2 "\n.I2\n"
399              item_01 "\n.I1\n"
400              item_x1 "\n.I1\n"
401              item_12 "\n.I2\n"
402              item_x2 "\n.I2\n"
403              delim_0 ", "
404              delim_1 ", "
405              delim_2 ", "
406              delim_r "-"
407              delim_t "."
408              encap_prefix "\\fB"
409              encap_infix ""
410              encap_suffix "\\fP"
411              indent_space ""
412              indent_length 0
413
414       The local macro package may require modification, as in this example of
415       an  extension  to  the  -ms macros (note that at some sites, this macro
416       should replace a pre-existing macro of the same name):
417
418              .
419              .de IX
420              .ie '\\n(.z'' .tm IX: \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 {\\n(PN}
421              .el \\!.IX \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 {\\n(PN}
422              ..
423
424       (note that the string {\\n(PN} is separated from the rest of  the  line
425       by a tab.  If your local macro package does not contain this extension,
426       just include those lines at the beginning of your file.  Here is a sim‐
427       ple troff(1) input file, which we will assume is named sample.txt:
428
429              This is a sample file to test the \fImakeindex\fP(1L)
430              program, and see
431              .IX {indexing!programs!C language}
432              .IX {makeindex@\fImakeindex\fP(1L)}
433              .bp
434              .rs
435              .IX {Knuth}
436              .IX {typesetting!computer-aided}
437              how well it functions in the \fItroff\fP(1) environment.
438
439       Note  that  index  entries are indicated by the .IX macro, which causes
440       the following text to be written to stdout along with the current  page
441       number.
442
443   CREATING THE INDEX FILE IN THE BOURNE SHELL
444       To create an input file for makeindex, in the Bourne shell environment,
445       do the equivalent at your site of the command:
446
447       psroff -ms -Tpsc -t sample.txt > /dev/null 2> sample.tmp
448
449       Some sites will require ditroff instead of psroff.  To filter  out  any
450       genuine error messages, invoke grep(1):
451
452              grep '^IX: ' sample.tmp > sample.idx
453
454   CREATING THE INDEX FILE USING UCSF ENHANCED TROFF/TRANSCRIPT
455       With  UCSF  Enhanced  troff/TRANSCRIPT, the -I option of psroff(1L) can
456       produce both formatter output and an index file:
457
458              psroff -ms -I sample.inp -Tpsc sample.txt
459
460       If it is wished to suppress the formatter output:
461
462              psroff -ms -I sample.inp -Tpsc -t sample.txt > /dev/null
463
464   COMPLETING THE INDEX
465       Any of the above procedures leaves the  input  for  makeindex  in  sam‐
466       ple.inp.  The next step is to invoke makeindex:
467
468              makeindex -s sample.ist sample.idx
469
470       This leaves troff(1)-ready output in the file sample.ind.
471

ORDERING

473       By  default,  makeindex  assumes  word ordering; if the -l option is in
474       effect, letter ordering is used.  In word ordering,  a  blank  precedes
475       any  letter  in  the  alphabet, whereas in letter ordering, it does not
476       count at all.  This is illustrated by the following example:
477
478              word order                      letter order
479              sea lion                        seal
480              seal                            sea lion
481
482       Numbers are always sorted in numeric order.  For instance,
483
484              9 (nine),  123
485              10 (ten), see Derek, Bo
486
487       Letters are first sorted without regard to case; when words are identi‐
488       cal, the uppercase version precedes its lowercase counterpart.
489
490       A  special  symbol is defined here to be any character not appearing in
491       the union of digits and the English  alphabetic  characters.   Patterns
492       starting  with  special symbols precede numbers, which precede patterns
493       starting with letters.  As a special case, a  string  starting  with  a
494       digit  but mixed with non-digits is considered to be a pattern starting
495       with a special character.
496

SPECIAL EFFECTS

498       Entries such as
499
500              \indexentry{alpha}{1}
501              \indexentry{alpha!beta}{3}
502              \indexentry{alpha!beta!gamma}{10}
503
504       in the input file will be converted to
505
506              \item alpha, 1
507                 \subitem beta, 3
508                    \subsubitem gamma, 10
509
510       in the output index file.  Notice that the level symbol (`!')  is  used
511       above to delimit hierarchical levels.
512
513       It is possible to make an item appear in a designated form by using the
514       actual (`@') operator.  For instance,
515
516              \indexentry{alpha@{\it alpha\/}}{1}
517
518       will become
519
520              \item {\it alpha\/},  1
521
522       after processing.  The pattern preceding  `@'  is  used  as  sort  key,
523       whereas  the one following it is written to the output file.  Note that
524       two appearances of the same key, one with and one  without  the  actual
525       operator, are regarded as distinct entries.
526
527       The item, subitem, and subsubitem fields may have individual sort keys:
528
529              \indexentry{aa@{\it aa\/}!bb@{\it bb\/}!cc@{\it cc\/}}{1}
530
531       This will be converted to
532
533              \item {\it aa}, 1
534                 \subitem {\it bb}, 3
535                    \subsubitem {\it cc}, 10
536
537       It  is  possible to encapsulate a page number with a designated command
538       using the encap (`|') operator:
539
540              \indexentry{alpha|bold}{1}
541
542       will be converted to
543
544              \item alpha, \bold{1}
545
546       where, with a suitable definition for TeX, \bold{n} will expand to {\bf
547       n}.   In this example, the three output attributes associated with page
548       encapsulation encap_prefix, encap_infix, and  encap_suffix,  correspond
549       to  backslash,  left brace, and right brace, respectively.  This mecha‐
550       nism allows page numbers to be set in different  fonts.   For  example,
551       the  page where the definition of a keyword appears can be in one font,
552       the location of a primary example can be in  another  font,  and  other
553       appearances in yet a third font.
554
555       The  encap  operator can also be used to create cross references in the
556       index:
557
558              \indexentry{alpha|see{beta}}{1}
559
560       will become
561
562              \item alpha, \see{beta}{1}
563
564       in the output file, where
565
566              \see{beta}{1}
567
568       will expand to
569
570              {\it see\/} beta
571
572       Note that in a cross reference like this the page number disappears.
573
574       A pair of encap concatenated with  range_open  (`|(')  and  range_close
575       (`|)') creates an explicit page range:
576
577              \indexentry{alpha|(}{1}
578              \indexentry{alpha|)}{5}
579
580       will become
581
582              \item alpha, 1—5
583
584       Intermediate  pages  indexed  by  the  same key will be merged into the
585       range implicitly.  This is especially useful  when  an  entire  section
586       about  a  particular  subject  is to be indexed, in which case only the
587       range opening and closing operators need to be inserted at  the  begin‐
588       ning  and  end  of the section.  Explicit page range formation can also
589       include an extra command to set the page range in a designated font:
590
591              \indexentry{alpha|(bold}{1}
592              \indexentry{alpha|)}{5}
593
594       will become
595
596              \item alpha, \bold{1--5}
597
598       Several potential problems are worth mentioning.  First, entries like
599
600              \indexentry{alpha|(}{1}
601              \indexentry{alpha|bold}{3}
602              \indexentry{alpha|)}{5}
603
604       will be interpreted as
605
606              \item alpha, \bold{3}, 1--5
607
608       but with a warning message in  the  transcript  about  encountering  an
609       inconsistent page encapsulator.  An explicit range beginning in a Roman
610       page number and ending in Arabic is also considered an error.  In  this
611       instance,  (if possible) the range is broken into two subranges, one in
612       Roman and the other in Arabic.  For instance,
613
614              \indexentry{alpha|(}{i}
615              \indexentry{alpha}{iv}
616              \indexentry{alpha}{3}
617              \indexentry{alpha|)}{7}
618
619       will be turned into
620
621              \item alpha, i--iv, 3--7
622
623       with a warning message in the  transcript  file  complaining  about  an
624       illegal range formation.
625
626       Every  special  symbol  mentioned in this section may be escaped by the
627       quote operator (`"').  Thus
628
629              \indexentry{alpha"@beta}{1}
630
631       will actually become
632
633              \item alpha@beta,  1
634
635       as a result of executing makeindex.  The  quoting  power  of  quote  is
636       eliminated if it is immediately preceded by escape (`\').  For example,
637
638              \indexentry{f\"ur}{1}
639
640       becomes
641
642              \item f\"ur, 1
643
644       which  represents  an  umlaut-accented `u' to the TeX family of proces‐
645       sors.
646
647       A page number can be a composite of one or more fields separated by the
648       delimiter  bound  to  page_compositor (`-'), e.g., II-12 for page 12 of
649       Chapter II.  Page numbers may contain up to ten fields.
650
651       Since version 2.11 of makeindex, the quote operator may quote any char‐
652       acter  in  the range 1 ... 255.   Character 0 is excluded because it is
653       used internally in the makeindex source code as  a  string  terminator.
654       With this change, sort keys can be created for all eight-bit characters
655       except 0.  The sorting order is
656
657              punctuation characters (in ASCII order),
658              digits,
659              control characters (1 ... 31),
660              space (32),
661              letters (ignoring case),
662              characters 127 ... 255.
663
664       Here is an example showing the indexing of all printable ASCII  charac‐
665       ters  other  than  letters and digits, assuming the default TeX format.
666       For convenience, the page number references are the corresponding ASCII
667       ordinal values.
668
669              \indexentry{" @"  (space)}{32}
670              \indexentry{"!@"! (exclamation point)}{33}
671              \indexentry{""@"" (quotation mark)}{34}
672              \indexentry{"#@"\# (sharp sign)}{35}
673              \indexentry{"$@"\$ (dollar sign)}{36}
674              \indexentry{"%@"\% (percent sign)}{37}
675              \indexentry{"&@"\& (ampersand)}{38}
676              \indexentry{"<@"$<$ (left angle bracket)}{60}
677              \indexentry{"=@"= (equals)}{61}
678              \indexentry{">@"$>$ (right angle bracket)}{62}
679              \indexentry{"?@"? (query)}{63}
680              \indexentry{"@@"@ (at sign)}{64}
681              \indexentry{"[@"[ (left square bracket)}{91}
682              \indexentry{"\@"\verb=\= (backslash)}{92}
683              \indexentry{"]@"] (right square bracket)}{93}
684              \indexentry{"^@"\verb=^= (caret)}{94}
685              \indexentry{"_@"\verb=_= (underscore)}{95}
686              \indexentry{"`@"\verb=~= (grave accent)}{96}
687              \indexentry{"{@"\"{ (left brace)}{123}
688              \indexentry{"|@"\verb="|= (vertical bar)}{124}
689              \indexentry{"}@"\"} (right brace)}{125}
690              \indexentry{"~@"\verb=~= (tilde)}{126}
691
692       Characters  in the actual fields following the `@' character which have
693       special significance to TeX must be represented as  control  sequences,
694       or  as math mode characters.  Note particularly how the entries for the
695       at sign, left and right braces, and the vertical bar, are  coded.   The
696       index file output by makeindex for this example looks like this:
697
698              \begin{theindex}
699
700                \item ! (exclamation point), 33
701                \item " (quotation mark), 34
702                \item \# (sharp sign), 35
703                \item \$ (dollar sign), 36
704                \item \% (percent sign), 37
705                \item \& (ampersand), 38
706                \item $<$ (left angle bracket), 60
707                \item = (equals), 61
708                \item $>$ (right angle bracket), 62
709                \item ? (query), 63
710                \item @ (at sign), 64
711                \item [ (left square bracket), 91
712                \item \verb=\= (backslash), 92
713                \item ] (right square bracket), 93
714                \item \verb=^= (caret), 94
715                \item \verb=_= (underscore), 95
716                \item \verb=~= (grave accent), 96
717                \item \{ (left brace), 123
718                \item \verb=|= (vertical bar), 124
719                \item \} (right brace), 125
720                \item \verb=~= (tilde), 126
721
722                \indexspace
723
724                \item   (space), 32
725
726              \end{theindex}
727

FILES

729       makeindex             executable file
730
731       $TEXMFMAIN/tex/plain/misc/idxmac.tex
732                             TeX macro file used by makeindex
733
734       $TEXMFMAIN/tex/latex/base/makeidx.sty
735                             TeX macro file used by makeindex
736

SEE ALSO

738       ditroff(1L), latex(1L), make.index (1L), qsort(3), tex(1L), troff(1L)
739
740       UCSF Enhanced troff/TRANSCRIPT  An Overview, R. P. C. Rodgers and Con‐
741       rad Huang, LSMB Technical Report 90-2, UCSF  School  of  Pharmacy,  San
742       Francisco, 1990.
743
744       Index  Preparation and Processing, Pehong Chen and Michael A. Harrison,
745       Software: Practice and Experience, 19(9), 897–915, September 1988.
746
747       Automating Index Preparation, Pehong  Chen  and  Michael  A.  Harrison.
748       Technical Report 87/347, Computer Science Division, University of Cali‐
749       fornia, Berkeley, 1987 (a LaTeX document supplied with makeindex).
750
751       MakeIndex: An Index Processor for LaTeX, Leslie Lamport, February  1987
752       (a LaTeX document supplied with makeindex).
753
754       Tools  for  Printing  Indices,  Jon  L. Bentley and Brian W. Kernighan,
755       Electronic Publishing  Origination, Dissemination, and  Design,  1(1),
756       3–18,  June 1988 (also available as: Computing Science Technical Report
757       No. 128, AT&T Bell Laboratories, Murray Hill, NJ 07974, 1986).
758

AUTHOR

760       Pehong Chen, Chen & Harrison International Systems,  Inc.   Palo  Alto,
761       California, USA.
762       Manual  page  extensively  revised and corrected, and troff(1) examples
763       created  by   Rick   P.   C.   Rodgers,   UCSF   School   of   Pharmacy
764       <rodgers@cca.ucsf.edu>.
765

ACKNOWLEDGMENTS

767       Leslie Lamport contributed significantly to the design.  Michael Harri‐
768       son provided valuable comments and suggestions.  Nelson Beebe  improved
769       on  the portable version, and maintains the source distribution for the
770       TeX Users Group.  Andreas Brosig contributed to the German word  order‐
771       ing.  The modification to the -ms macros was derived from a method pro‐
772       posed by Ravi Sethi of AT&T Bell Laboratories.   The  LOG  and  CONTRIB
773       files in the makeindex source distribution record other contributions.
774
775
776
777TeX Live                       24 September 2011                  MAKEINDEX(1)
Impressum