Простейшие средства

В простейшем случае программа makeindex вызывается так3):

\makeindex исходный_файл

Если исходный_файл имеет расширение idx (так скорее всего и будет, поскольку исходный файл — это, как правило, сгенерированный LaTeX'ом idx-файл), то это расширение можно не указывать. В результате работы программы makeindex появится файл с тем же именем, что у исходного файла, и расширением ind. Это — готовый файл для предметного указателя, который остается только включить в ваш документ с помощью команды \input. Создается также файл с тем же именем и расширением ilg. Это — протокол работы программы makeindex.

Если не предпринимать специальных мер, то все записи в ind-файле, созданном программой makeindex, будут равноправны — все они будут вводиться командой \item. Чтобы предметный указатель был устроен иерархически, как в примере на стр.178 , надо в аргументе команды \index после заглавного слова поставить восклицательный знак, а после него — подчиненное ему слово. Возможно также подчинение второго порядка — тогда нужен еще один восклицательный знак. Вот пример:

Многие люди любят домашних кошек.\index{Кошки!домашние}

....

Ваша киска\index{Кошки!домашние!уход} купила бы...

....

Хорошо также иметь собаку.\index{Собаки}

.....

Мало кто рискнет держать дома такую дикую

кошку,\index{Кошки} как тигр. Пудель\index{Собаки}

гораздо безопаснее.

При обработке этого файла LaTeX'ом получится idx-файл4); в результате обработки idx-файла программой makeindex получится ind-файл, включающий в себя, в частности, следующее (предположим, что наши команды \index попали на страницы с номерами 2, 7, 8, а две последние — на страницу 9):

\begin{theindex}

...

\item Кошки, 9

\subitem домашние, 2

\subsubitem уход, 7

...

\item Собаки, 8, 9

...

\end{theindex}

Из сказанного следует, что при обработке idx-файла с помощью программы makeindex восклицательный знак в аргументе команд \index имеет особый статус. Чтобы программа \makeindex восприняла восклицательный знак просто как типографский значок, надо в аргументе \index предварить его знаком кавычки ":

\index{Восклицательный знак ("!)}

\index{Междометия!Эх"!}

Эти аргументы команд \index дословно скопируются в idx-файл, а после его обработки программой makeindex в ind-файл запишется примерно вот что:

\item Восклицательный знак (!), 14

\item Междометия

\subitem Эх!, 6

Наряду с восклицательным знаком, особый статус с точки зрения программы makeindex имеет символ @ (" коммерческое at"), вертикальная черточка | (в следующем разделе вы узнаете, в чем этот статус заключается), а также сама кавычка ". Если вы хотите употребить один из этих четырех значков в аргументе команды \index просто как символ, не вкладывая в него специального смысла, надо поставить перед ним кавычку ".

Исключение: кавычку, входящую в состав TeX'овской команды \", можно (и нужно) записывать без предосторожностей:

\index{Кавычка ("")}

\index{Ёлочка}

\index{H\"uhnchen}

При этом соответствующие записи в idx-файле могут получиться такими:

\item Ёлочка, 8

\item Кавычка ("), 6

\item H\"uhnchen, 12