В больших документах и книгах предметный указатель, наравне с оглавлением, серьёзно упрощают навигацию по содержимому. И если создание оглавления в ЛаТеХе элементарно, то предметный указатель потребует несколько больших усилий.
Как сделать предметный указатель в ЛаТеХе
Для этого потребуется подправить заголовок ЛаТеХ-документа и внести правки в сам текст файла. Легче это делать, естественно, ещё на этапе создания документа, чтобы не перечитывать его потом.
Что нужно изменить в преамбуле
Следует подключить пакет расширения makeidx:\usepackage{makeidx}
И чуть ниже, до \begin{document} написать:\makeindex % команда для создания предметного указателя
После этого перемещаемся в конец документа и выбираем место, где должен быть предметный указатель. Там пишем:\printindex % печать предметного указателя здесь
При сборке документа в конце, где библиография, на отдельной странице появится надпись "Предметный указатель" и в два столбца пойдут перечни терминов и страниц, на которых они находятся. Быстро, просто, легко и понятно.
Что нужно изменить в тексте
Там, где встречается слово, которое должно быть в предметном указателе, следует вставить команду:\index{слово}
При этом в итоговом тексте никаких изменений быть не должно. Это служебная команда и она никак не отразится на тексте документа.
Если требуется, чтобы первое упоминание о термине было выделено, например, курсивом, следует дополнить команду, например, так:\index{слово | \textit}
После этого в предметном указателе номер страницы будет выделен курсивом.
Так же следует учесть, что к служебным файлам в каталоге с документом, наравне с имяфайла.tex, добавится имяфайла.ind, который и содержит файл индексов.
Что ещё можно сделать из предметного указателя?
Через некоторое время после написания этого поста, автор реализовал личный электронный органайзер в LaTeX. Проблема заключалась в том, что для некоторых действий нужны метки или тэги, а в ЛаТеХе их сделать невозможно. Оказалось, что предметный указатель можно использовать и для этого.
Например, можно сделать вложенные указатели:
\index{encodings!input}Это будет отображено так:
encodings:
input
Если нужно сослаться на другой термин, то это можно сделать так:
\index{Peter|see{hello}}И будет скомпилировано как: Peter, see hello.
Ссылки
В процессе создания этого поста была использована электронная книга:
И.А. Грицаенко, С.В. Клименко, "LaTeX. Руководство для пользователя. Часть II."
Больше об индексах и предметных указателях можно прочитать в Викиучебнике.
21 комментариев: |высказаться!| RSS-лента дискуссии.|
А где можно скачать мене,чем начинающему, то есть мне, какой-нибудь актуальный pdf про TeX, чтобы хоть с чего-то начать?..
Спасибо.
2zbarassky:
Есть такая небольшая pdfка - "Не очень краткое введение в LaTeX" (на русском распространяется как lshortru.pdf). Я по ней учился, когда курсовик писал
Спаибо, погляжу. :)
\index{слово | \textbf} - по моему, ну ни как не сделает курсив. Я использую makeindex для Авторского указателя в сборниках трудов, очень помогает. Принцип тот же: \index{Автор}.
2 zbarassky пишет...
А где можно скачать мене,чем начинающему, то есть мне, какой-нибудь актуальный pdf про TeX, чтобы хоть с чего-то начать?..
Как уже отметили выше, "Не очень краткое введение в ЛаТеХ", а ещё книжки Львовского. Этого должно хватить. Ну и я скоро начну выкладывать серию постов про ЛаТеХ.
2 Михаил Саушкин пишет...
\index{слово | \textbf} - по моему, ну ни как не сделает курсив.
Это верно :-) Поправил в тексте. Большое спасибо!
2zbarassky::
Как уже отметили выше .. Этого должно хватить.
У Роженко А.И. не плохая книжка "Искусство верстки в LaTeXe". Автор рассылал её по почте. Рекомендую, не смотря на то, что она привязана несколько к MikTeX'у
Миша, опять:
\index{слово | \textit}
После этого... полужирным шрифтом.
2 Михаил Саушкин пишет...
Миша, опять:
А, шайтан меня побери :-) Спасибо, поправил снова (вот что бывает, когда делаешь два дела сразу и к тому же уставшим :-))
Чет я нифига не понял, не могу разобраться, либо лох, либо надо больше отдыхать!
Неплохие доки для новичков по LaTeX:
http://www.inp.nsk.su/~baldin/LaTeX/index.html
Для zbarassky.
Надо будет про книжки по ЛаТеХу написать....
Кажется вы забыли упомянуть про команду makeindex которая собственно создаёт тот самый .ind файл из полученного в ходе компиляции .idx файла.
2 Анонимный пишет...
Кажется вы забыли упомянуть про команду makeindex которая собственно создаёт тот самый .ind файл из полученного в ходе компиляции .idx файла.
У меня в Kile это делается автоматически. Сразу появляется в нужном месте предметный указатель.
А как создать несколько предметных указателей? Где это нужно?
Да вот: авторский (именной) указатель + указатель терминов
ВОПРОС с кодировкой???
Использую cp1251
При создании указателя в файл main.idx заносятся всё в непонятной кодировке:
\indexentry{\IeC {\CYRG }\IeC {\cyri }\IeC {\cyrl }\IeC {\cyrya }\IeC {\cyrr }\IeC {\cyro }\IeC {\cyrv }\IeC {\cyrs }\IeC {\cyrk }\IeC {\cyri }\IeC {\cyrishrt }~\IeC {\CYRR }.\,\IeC {\CYRS }.}{6}
...
поэтому makeindex сортирует неправильно.
Как изменить кодировку main.idx на cp1251??
Помогите советом! Кто может
Можно использовать скрипт Котельников cyr2win.wsf
Команда для Win98 и выше
> cscript cyr2win.wsf имя_файла
Как использовать см
http://biotex.ibss.org.ua/faq.html?catid=6&q_filter=&sortby=title&order=ASC
Скрипт лежит по адресу
http://www.tutor.nsu.ru/latex/soft/tools/indexing/Kotelnikov/
Как сделать Именной/Предметный/Географический указатель подробно описано в
http://biotex.ibss.org.ua/faq.html?catid=8&q_filter=&sortby=title&order=ASC
> \indexentry{\IeC {\CYRF }\IeC {\cyru }\IeC {\cyrn }\IeC {\cyrk }\IeC {\cyrc }\IeC {\cyrii }\IeC {\cyro }\IeC {\cyrn }\IeC {\cyra }\IeC {\cyrl }|\IeC {\cyrl }\IeC {\cyrii }\IeC {\cyrn }\IeC {\cyrii }\IeC {\cyrishrt }\IeC {\cyrn }\IeC {\cyri }\IeC {\cyrishrt }}{8}
Та же проблема. Подскажите, как решить, если кто сталкивался. Сайт http://www.tutor.nsu.ru/latex/soft/tools/indexing/Kotelnikov/ лежит, и, видимо, уже давно.
А вот кто-нить понимает, как добиться, чтобы уровней вложения в указателе было более трех?
@im комментирует...
А вот кто-нить понимает, как добиться, чтобы уровней вложения в указателе было более трех?
По-моему, это ограничение в index. Кстати, спасибо, добавил в пост про вложенные индексы.
Сергей Д
Скачал программу по латехсу, - портайбл, без установки в тело ОС. устанавил как игрушку в "мои документы". Скачал два учебника. Пользуясь ими вставляю из книг скелет , обвешивая своим материалом. Набор выглядет красиво, а вот как проконтролировать, что на деле получится, чем, - какой программой не пойму. В установленной программе, вроде есть функции просмотра в ПДФ и DYW, но эти функции в программе конфликтуют. ПДФ не видет (НЕ распознает файла), а DYW совсем ни как. Как быть? Вкакой программе и как читать файл TEX?
Отправить комментарий