
Hinweis: Antworten zu den Indexgenerierungspaketen wären hilfreich, wie zum Beispielsplitidx
oder die Standardeinstellungmakeidx
.
Ich habe einige Bücher gesehen, bei denen auf der Indexseite ein erklärender Text stand, nachdemIndexTitel, sondern vor der eigentlichen Indexliste. Wie kann dies erreicht werden, ohne die .idx
oder .ind
Dateien manuell zu ändern? Der Befehl printindex
scheint dazu nicht in der Lage zu sein.
Hier ist ein passendes, aber leider kleines Beispiel:
Hier ist ein MWE, das das Paket verwendet 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}
Hier ist ein MWE, das das Paket verwendet splitidx
und zwei Indizes erstellt:
\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}
Antwort1
Verwenden des Paketsimakeidx
anstelle von makeidx
. Dieses Paket ist robuster und ermöglicht:
Index in mehreren Spalten mit
\makeindex[columns=n]
Text vor vonIndexund nachTitelmit
\indexprologue{Text ...}
. Dieser Befehl muss genau vor von stehen\printindex
.Automatisch ausführen
makeindex
.Betreuung des
splitindex
Skripts durch Markus Kohm.Weitere Optionen, die in derDokumentation.
Beispiel MWE
\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}
Es ist auch möglich, mit diesem Paket mehrere Indizes zu generieren. In diesem Fall müssen Sie das Paket mit der splitindex
Option laden und makeindex
auf <filename>-firstindex
und ausführen <filename>-secondindex
(wenn firstindex
und secondindex
die Namen Ihrer Indizes sind). Oder dies automatisch pdflatex
mit den Optionen --enable-write18
oder ausführen lassen -shell-escape
.
Notiz:Es ist nicht notwendig, allen Indizes einen Namen zu geben (wie in splitidx
). Lassen Sie einfach den "Haupt"-Index unbenannt und benennen Sie die anderen. Und verwenden Sie \makeindex
(ohne Argumente für diehauptsächlichIndex) und \makeindex[name=...,title=...]
für die anderen Indizes. Beachten Sie das Beispiel
\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}
So entsteht eine Datei <filename>-splitindex.idx
für diehauptsächlichIndex und <filename>-secondindex.idx
für den zweiten. DerhauptsächlichDer Index verwendet \indexname
für den Titel des Index.
Laufen
pdflatex --enable-write18 <filename>
wird dies automatisch für Sie erledigen.
\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}