понедельник, Март 24, 2008

Предметный указатель в ЛаТеХ: Index in LaTeX HOWTO

В больших документах и книгах предметный указатель, наравне с оглавлением, серьёзно упрощают навигацию по содержимому. И если создание оглавления в ЛаТеХе элементарно, то предметный указатель потребует несколько больших усилий.


Как сделать предметный указатель в ЛаТеХе
Для этого потребуется подправить заголовок ЛаТеХ-документа и внести правки в сам текст файла. Легче это делать, естественно, ещё на этапе создания документа, чтобы не перечитывать его потом.


Что нужно изменить в преамбуле
Следует подключить пакет расширения makeidx:

\usepackage{makeidx}
И чуть ниже, до \begin{document} написать:
\makeindex % команда для создания предметного указателя
После этого перемещаемся в конец документа и выбираем место, где должен быть предметный указатель. Там пишем:
\printindex % печать предметного указателя здесь
При сборке документа в конце, где библиография, на отдельной странице появится надпись "Предметный указатель" и в два столбца пойдут перечни терминов и страниц, на которых они находятся. Быстро, просто, легко и понятно.


Что нужно изменить в тексте
Там, где встречается слово, которое должно быть в предметном указателе, следует вставить команду:
\index{слово}
При этом в итоговом тексте никаких изменений быть не должно. Это служебная команда и она никак не отразится на тексте документа.
Если требуется, чтобы первое упоминание о термине было выделено, например, курсивом, следует дополнить команду, например, так:
\index{слово | \textit}
После этого в предметном указателе номер страницы будет выделен курсивом.

Так же следует учесть, что к служебным файлам в каталоге с документом, наравне с имяфайла.tex, добавится имяфайла.ind, который и содержит файл индексов.


Ссылки
В процессе создания этого поста была использована электронная книга:
И.А. Грицаенко, С.В. Клименко, "LaTeX. Руководство для пользователя. Часть II."
Сведения, касающиеся предметного указателя, в ней сильно устарели, и весьма скупо описаны. Однако адаптация на современный лад много времени не заняла :-)
Это должно помочь тем, кто верстает в ЛаТеХе серьёзные книги и монографии.

14 комментариев:

zbarassky комментирует...

А где можно скачать мене,чем начинающему, то есть мне, какой-нибудь актуальный pdf про TeX, чтобы хоть с чего-то начать?..

Спасибо.

Муха комментирует...

2zbarassky:
Есть такая небольшая pdfка - "Не очень краткое введение в LaTeX" (на русском распространяется как lshortru.pdf). Я по ней учился, когда курсовик писал

zbarassky комментирует...

Спаибо, погляжу. :)

Михаил Саушкин комментирует...

\index{слово | \textbf} - по моему, ну ни как не сделает курсив. Я использую makeindex для Авторского указателя в сборниках трудов, очень помогает. Принцип тот же: \index{Автор}.

virens комментирует...

2 zbarassky пишет...
А где можно скачать мене,чем начинающему, то есть мне, какой-нибудь актуальный pdf про TeX, чтобы хоть с чего-то начать?..
Как уже отметили выше, "Не очень краткое введение в ЛаТеХ", а ещё книжки Львовского. Этого должно хватить. Ну и я скоро начну выкладывать серию постов про ЛаТеХ.


2 Михаил Саушкин пишет...
\index{слово | \textbf} - по моему, ну ни как не сделает курсив.
Это верно :-) Поправил в тексте. Большое спасибо!

Михаил Саушкин комментирует...

2zbarassky::
Как уже отметили выше .. Этого должно хватить.
У Роженко А.И. не плохая книжка "Искусство верстки в LaTeXe". Автор рассылал её по почте. Рекомендую, не смотря на то, что она привязана несколько к MikTeX'у

Михаил Саушкин комментирует...

Миша, опять:
\index{слово | \textit}
После этого... полужирным шрифтом.

virens комментирует...

2 Михаил Саушкин пишет...
Миша, опять:
А, шайтан меня побери :-) Спасибо, поправил снова (вот что бывает, когда делаешь два дела сразу и к тому же уставшим :-))

денис герметиков комментирует...

Чет я нифига не понял, не могу разобраться, либо лох, либо надо больше отдыхать!

resurtm комментирует...

Неплохие доки для новичков по LaTeX:

http://www.inp.nsk.su/~baldin/LaTeX/index.html

Для zbarassky.

virens комментирует...

Надо будет про книжки по ЛаТеХу написать....

Анонимный комментирует...

Кажется вы забыли упомянуть про команду makeindex которая собственно создаёт тот самый .ind файл из полученного в ходе компиляции .idx файла.

virens комментирует...

2 Анонимный пишет...
Кажется вы забыли упомянуть про команду makeindex которая собственно создаёт тот самый .ind файл из полученного в ходе компиляции .idx файла.
У меня в Kile это делается автоматически. Сразу появляется в нужном месте предметный указатель.

Анонимный комментирует...

А как создать несколько предметных указателей? Где это нужно?

Да вот: авторский (именной) указатель + указатель терминов