\index
Синопсис:
\index{index-entry-string}
Объявляет запись в индексе. Эта команда хрупкая (см. \protect).
Например, как описано в Индексах, один способ получить индекс из того, что ниже, — это скомпилировать документ с pdflatex test, затем обработать записи индекса с makeindex test, а затем снова скомпилировать с pdflatex test.
% file test.tex
...
W~Ackermann (1896--1962).\index{Ackermann}
...
Ackermann function\index{Ackermann!function}
...
rate of growth\index{Ackermann!function!growth rate}
Все три записи индекса получат номер страницы, например, ‘Ackermann, 22’. LaTeX отформатирует вторую как подпункт первой, на строке ниже и с отступом, а третью — как подпункт второй. Максимальная вложенность подпунктов — три уровня. (Если вы добавите \index{Ackermann!function!growth rate!comparison} то makeindex выведет ‘Сканирование входного файла test.idx....done (4 записи приняты, 1 отклонена)’, и четвёртый уровень будет отсутствовать).
Если вы введёте вторую \index с той же строкой-записи-индекса, то получите одну запись индекса с двумя номерами страниц (если они не окажутся на одной странице). Таким образом, добавление as for Ackermann.\index{Ackermann} позже в том же документе, что и выше, даст запись индекса, подобную ‘Ackermann, 22, 151’. Кроме того, вы можете вводить записи индекса в любом порядке, поэтому, например, \index{Ackermann!function} может стоять перед \index{Ackermann}.
Получите диапазон страниц в выводе, например, ‘Hilbert, 23--27’, как здесь.
W~Ackermann (1896--1962).\index{Ackermann}
...
D~Hilbert (1862--1943)\index{Ackermann!Hilbert|(}
...
disapproved of his marriage.\index{Ackermann!Hilbert|)}
Если начало и конец диапазона страниц совпадают, система выведет просто один номер страницы, а не диапазон.
Если вы индексируете подпункты, но не главную запись, как в \index{Jones!program} и \index{Jones!results}, то выводом будет элемент ‘Jones’ без запятой или номера страницы, за которым следуют два подпункта, например, ‘program, 50’ и ‘results, 51’.
Создайте запись индекса, которая гласит ‘см.’, используя вертикальную черту: \index{Ackermann!function|see{P\'eter's
function}}. Вы можете получить ‘см. также’ с помощью seealso. (Текст ‘см.’ определён в \seename, а ‘см. также’ в \alsoname. Вы можете переопределить их, используя пакет локализации, например, babel или polyglossia, или непосредственно, как в \renewcommand{\alsoname}{Also see}).
Функция ‘см.’ является частью более общей функциональности. После вертикальной черты можно указать имя команды с одним входом, как в \index{group|textit} (обратите внимание на отсутствие обратного слэша в команде \textit). Система применит эту команду к номеру страницы, получив, например, \textit{7}. Вы можете определить свои собственные команды с одним входом, например, \newcommand{\definedpage}[1]{{\color{blue}#1}}, а затем \index{Ackermann!function|definedpage} выведет синюю страницу (см. Цвет). Ещё один, менее практичный, пример —
\newcommand\indexownpage[1]{#1, \thepage}
... Epimenides.\index{self-reference|indexownpage}
что создаёт запись, ссылающуюся на номер страницы собственного списка индексов.
Эти две описанные функции объединяются, как в примере
\index{Ackermann!function|(definedpage}
...
\index{Ackermann!function|)}
что выводит запись индекса, например, ‘функция, 23--27’, где диапазон номеров страниц выделен синим цветом.
Рассмотрим запись индекса, такую как ‘α-кольцо’. Ввод её как $\alpha$-ring приведёт к её сортировке в алфавитном порядке по знаку доллара. Вы можете ввести её, используя знак «@», как \index{alpha-ring@$\alpha$-ring}. Если вы укажете запись со знаком «@», разделяющим две строки, pos@text, то pos укажет на алфавитное положение записи, а text — на её текст. Ещё один пример — \index{Saint Michael's College@SMC} выводит запись индекса ‘SMC’, сортируемую в другом месте, чем предписывает её написание.
Чтобы вставить !, или @, или |, или " символ в запись индекса, экранируйте его, поставив перед ним двойную кавычку, ". (Двойная кавычка удаляется перед сортировкой.)
Ряд пакетов на CTAN имеют дополнительную функциональность по сравнению с makeidx. Один из них — index, который позволяет использовать несколько индексов и содержит команду \index*{index-entry-string}, которая печатает строку-записи-индекса, а также индексирует её.
Команда \index записывает информацию об индексации в файл имя-корня.idx. В частности, она записывает текст команды \indexentry{index-entry-string}{page-num}, где номер-страницы — значение счётчика \thepage. Иногда, когда команда \printindex вызывает затруднения, необходимо удалить этот файл, чтобы начать с чистого листа.
Если вы опустите закрывающую фигурную скобку команды \index, то получите сообщение такого типа.
Runaway argument? {Ackermann!function
! Paragraph ended before \@wrindex was complete.
© 2007–2018 Karl Berry
Public Domain Software
http://latexref.xyz/_005cindex.html