
Nota: Serían beneficiosas las respuestas sobre cualquiera de los paquetes generadores de índices, como por ejemplosplitidx
o el predeterminadomakeidx
.
He visto algunos libros con texto explicativo en su página índice después delÍndicetítulo pero antes de la lista de índice real. ¿Cómo se puede hacer esto sin modificar manualmente los archivos .idx
o .ind
? El comando printindex
parece lamentablemente incapaz.
Aquí hay un ejemplo adecuado pero lamentablemente pequeño:
Aquí hay un MWE que usa el paquete 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}
Aquí hay un MWE que usa el paquete splitidx
y crea dos índices:
\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}
Respuesta1
Usa el paqueteimakeidx
en lugar de makeidx
. Este paquete es más robusto y permite:
Índice en varias columnas con
\makeindex[columns=n]
Texto antes deÍndicey después detítulocon
\indexprologue{Text ...}
. Este comando debe colocarse exactamente antes de\printindex
.Ejecutar
makeindex
automáticamente.Soporte para
splitindex
guión de Markus Kohm.Otras opciones descritas en sudocumentación.
Ejemplo 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}
También es posible generar varios índices con este paquete. En este caso debes cargar el paquete con la splitindex
opción y ejecutar makeindex
en <filename>-firstindex
y <filename>-secondindex
(si firstindex
y secondindex
son los nombres de tus índices). O hacer esto ejecutando automáticamente pdflatex
con las opciones --enable-write18
o -shell-escape
.
Nota:No es necesario poner un nombre a todos los índices (como en splitidx
). Simplemente deje el índice "principal" sin nombre y nombre los demás. Y utilizar \makeindex
(sin argumentos a favor de laprincipalíndice) y \makeindex[name=...,title=...]
para los demás índices. Observa el ejemplo
\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}
Entonces se crea un archivo <filename>-splitindex.idx
para elprincipalíndice y <filename>-secondindex.idx
para el segundo. Elprincipalusos del índice \indexname
para el título del índice.
Correr
pdflatex --enable-write18 <filename>
lo hará automáticamente por usted.
\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}