Spec-Zone.ru › LaTeX

makeindex

Синопсис, один из:

makeindex filename
makeindex -s style-file filename
makeindex options filename0 ...

Сортирует и обрабатывает информацию индекса в дополнительном файле filename. Это командная строка программа. Она принимает один или несколько исходных файлов индекса, файлы filename.idx, и создаёт фактический файл индекса, файл filename.ind, который используется \printindex (см. \printindex).

Первый вариант команды подходит для многих случаев. Второй позволяет форматировать индекс с помощью файла стилей индекса, файла .isty. Третий вариант наиболее универсален; см. полную документацию на CTAN.

Это простой файл .isty.

% book.isty 
%   $ makeindex -s book.isty -p odd book.idx
% creates the index as book.ind, starting on an odd page. 
preamble
"\\pagestyle{empty}
\\small
\\begin{theindex}
\\thispagestyle{empty}"

postamble
"\n
\\end{theindex}"

Это описание охватывает лишь некоторые возможности форматирования индекса в файле style-file. Полный список см. в документации на CTAN.

Файл стилей состоит из списка пар: спецификатор и атрибут. Они могут появляться в файле в любом порядке. Все атрибуты — строки, за исключением случаев, когда указано иначе. Строки заключены в двойные кавычки, ", и максимальная длина строки составляет 144 символа. \n используется для новой строки, а \t — для табуляции. Обратные слэши экранируются ещё одним обратным слэшем, \\. Если строка начинается с символа процента, %, то это комментарий.

preamble ¶

Преамбула файла выходного индекса. Определяет контекст, в котором отформатирован индекс. По умолчанию: "\\begin{theindex}\n".

postamble ¶

Постскриптум файла выходного индекса. По умолчанию: "\n\n\\end{theindex}\n".

group_skip ¶

Традиционно элементы индекса разбиваются на группы, обычно группа для записей, начинающихся с буквы ‘a’, и т. д. Этот спецификатор задаёт то, что вставляется в начале новой группы. По умолчанию: "\n\n \\indexspace\n" (\indexspace — команда вставки резиновой длины, по умолчанию 10pt plus5pt minus3pt).

lethead_flag ¶

Целое число. Определяет, что вставляется для новой группы или буквы. Если это 0 (по умолчанию), то кроме group_skip ничего не будет вставлено перед группой. Если положительное, то при новой букве будут вставлены lethead_prefix и lethead_suffix, с этой буквой в верхнем регистре между ними. Если отрицательное, то вставляется буква в нижнем регистре. По умолчанию 0.

lethead_prefix ¶

Если новая группа начинается с другой буквы, то это префикс, вставляемый перед заголовком новой буквы. По умолчанию: ""

lethead_suffix ¶

Если группа начинается с другой буквы, то это суффикс, вставляемый после заголовка новой буквы. По умолчанию: "".

item_0 ¶

Что вставляется между двумя элементами 0-го уровня. По умолчанию: "\n \\item ".

item_1 ¶

Вставляется между двумя элементами 1-го уровня. По умолчанию: "\n \\subitem ".

item_2 ¶

Вставляется между двумя элементами 2-го уровня. По умолчанию: "\n \\subsubitem ".

item_01 ¶

Что вставляется между элементом 0-го и 1-го уровня. По умолчанию: "\n \\subitem ".

item_x1 ¶

Что вставляется между элементом 0-го и 1-го уровня, если у элемента 0-го уровня нет номеров страниц (как в \index{aaa|see{bbb}}). По умолчанию: "\n \\subitem ".

item_12 ¶

Что вставляется между элементом 1-го и 2-го уровня. По умолчанию: "\n \\subsubitem ".

item_x2 ¶

Что вставляется между элементом 1-го и 2-го уровня, если у элемента 1-го уровня нет номеров страниц. По умолчанию: "\n \\subsubitem ".

delim_0 ¶

Разделитель между ключом 0-го уровня и его первым номером страницы. По умолчанию: запятая, пробел, ", ".

delim_1 ¶

Разделитель между ключом 1-го уровня и его первым номером страницы. По умолчанию: запятая, пробел, ", ".

delim_2 ¶

Разделитель между ключом 2-го уровня и его первым номером страницы. По умолчанию: запятая, пробел, ", ".

delim_n ¶

Разделитель между двумя номерами страниц для одного ключа (любого уровня). По умолчанию: запятая, пробел, ", ".

delim_r ¶

Что вставляется между начальным и конечным номерами страниц диапазона. По умолчанию: "--".

line_max ¶

Целое число. Максимальная длина строки записи индекса в выводе, после которой строка переносится на новую. По умолчанию: 72.

indent_space ¶

Что вставляется в начале переносимой строки. По умолчанию: "\t\t".

indent_length ¶

Число. Длина отступа переносимой строки. По умолчанию indent_space — два таба, а каждый таб — восемь пробелов, поэтому по умолчанию здесь 16.

page_precedence ¶

Документ может иметь страницы, пронумерованные различными способами. Например, в книге страницы введения могут быть пронумерованы римскими строчными буквами, а страницы основной части – арабскими цифрами. Эта строка определяет порядок их отображения в индексе. Команда makeindex поддерживает пять различных типов нумерации: строчные римские r, и числовые или арабские n, и строчные буквы латинского алфавита a, и прописные римские R, и прописные буквы латинского алфавита A. По умолчанию: "rnaRA".

Существует ряд других программ, выполняющих ту же работу, что и makeindex. Одна из них – xindy (https://ctan.org/pkg/xindy), которая поддерживает интернационализацию и может обрабатывать индексы документов, разметка которых выполнена с использованием LaTeX и ряда других языков. Она написана на языке Lisp, обладает высокой конфигурируемостью, как в плане разметки, так и в плане порядка сортировки текста, как описано в ее документации.

Более новая программа для индексирования, поддерживающая Unicode, – это xindex, написанная на языке Lua (https://ctan.org/pkg/xindex).

© 2007–2018 Karl Berry
Public Domain Software
http://latexref.xyz/makeindex.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API