Как добавить пояснительный текст на страницу индекса?

Как добавить пояснительный текст на страницу индекса?

Примечание: ответы о любом из пакетов, генерирующих индексы, были бы полезны, например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}

Связанный контент