
Примечание: ответы о любом из пакетов, генерирующих индексы, были бы полезны, напримерsplitidx
или по умолчаниюmakeidx
.
Я видел некоторые книги с пояснительным текстом на странице индекса послеИндексtitle, но перед фактическим списком индексов. Как это можно сделать без ручного изменения файлов .idx
или .ind
? Команда, printindex
похоже, совершенно неспособна.
Вот адекватный, но, к сожалению, небольшой пример:
Вот MWE, который использует пакет makeidx
.
\documentclass[12pt]{book}
\usepackage{makeidx}\makeindex
\usepackage{lipsum}
\begin{document}
\lipsum[1]
\index{1@One makeidx entry!With a subentry}
%How to put text on the following index page?
\printindex
%Be sure to run: makeindex <filename>
\end{document}
Вот MWE, который использует пакет splitidx
и создает два индекса:
\documentclass[12pt]{book}
\usepackage[split]{splitidx}\makeindex
\newindex{firstindex}
\newindex{secondindex}
\usepackage{lipsum}
\begin{document}
\lipsum[1]
\sindex[firstindex]{1@One splitindex entry!Using firstindex}
\sindex[secondindex]{Another splitindex entry!Using secondindex}
%How to put text on the following index pages?
\printindex[firstindex][A splitindex: firstindex]
\printindex[secondindex][A splitindex: secondindex]
%Be sure to run: makeindex <filename>-firstindex; makeindex <filename>-secondindex
\end{document}
решение1
Использовать пакетimakeidx
вместо makeidx
. Этот пакет более надежен и позволяет:
Индекс в нескольких столбцах с
\makeindex[columns=n]
Текст передИндекси послезаголовокс
\indexprologue{Text ...}
. Эту команду необходимо поставить точно перед\printindex
.Запускается
makeindex
автоматически.Поддержка
splitindex
сценария Маркуса Кома.Другие варианты, описанные в немдокументация.
Пример МВЭ
\documentclass[12pt]{book}
\usepackage{imakeidx}\makeindex
\usepackage{lipsum}
\begin{document}
\lipsum[1]
\index{1@One entry!With a subentry}~\index{a@Other entry}
\indexprologue{\noindent How to put text on the following index page?}
\printindex
\end{document}
Также возможно сгенерировать несколько индексов с этим пакетом. В этом случае вы должны загрузить пакет с опцией splitindex
и запустить makeindex
на <filename>-firstindex
и <filename>-secondindex
(если firstindex
и secondindex
являются именами ваших индексов). Или сделать это автоматически, запустив pdflatex
с опциями --enable-write18
или .-shell-escape
Примечание:Не обязательно давать имя всем индексам (как в splitidx
). Просто оставьте "главный" индекс без имени и назовите остальные. И используйте \makeindex
(без аргументов дляосновнойиндекс) и \makeindex[name=...,title=...]
для других индексов. Обратите внимание на пример
\documentclass[12pt]{book}
\usepackage[splitindex]{imakeidx}
\makeindex
\makeindex[name=secondindex,title=Second Index]
\usepackage{lipsum}
\begin{document}
\lipsum[1]
\index{1@One splitindex entry!Using firstindex}
\index[secondindex]{Another splitindex entry!Using secondindex}
\indexprologue{\noindent How to put text on the following index pages?}
\printindex
\indexprologue{\noindent How to put text on the following index pages in the second index?}
\printindex[secondindex]
%Be sure to run: makeindex <filename>-splitindex; makeindex <filename>-secondindex
%Only if you didn't run pdflatex with the `--enable-write18` option.
\end{document}
Так создается файл <filename>-splitindex.idx
дляосновнойиндекс и <filename>-secondindex.idx
для второго.основнойиндекс используется \indexname
для заголовка индекса.
Бегать
pdflatex --enable-write18 <filename>
сделает это автоматически.
\documentclass[12pt]{book}
\usepackage[splitindex]{imakeidx}
\makeindex[name=firstindex,title=First Index]
\makeindex[name=secondindex,title=Second Index]
\usepackage{lipsum}
\begin{document}
\lipsum[1]
\index[firstindex]{1@One splitindex entry!Using firstindex}
\index[secondindex]{Another splitindex entry!Using secondindex}
\indexprologue{\noindent How to put text on the following index pages?}
\printindex[firstindex]
\indexprologue{\noindent How to put text on the following index pages in the second index?}
\printindex[secondindex]
%Be sure to run: makeindex <filename>-firstindex; makeindex <filename>-secondindex
\end{document}