¿Cómo agregar texto explicativo a una página de índice?

¿Cómo agregar texto explicativo a una página de índice?

Nota: Serían beneficiosas las respuestas sobre cualquiera de los paquetes generadores de índices, como por ejemplosplitidxo 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 .idxo .ind? El comando printindexparece lamentablemente incapaz.

Aquí hay un ejemplo adecuado pero lamentablemente pequeño:

ingrese la descripción de la imagen aquí

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 splitidxy 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 paqueteimakeidxen 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 makeindexautomáticamente.

  • Soporte para splitindexguió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 splitindexopción y ejecutar makeindexen <filename>-firstindexy <filename>-secondindex(si firstindexy secondindexson los nombres de tus índices). O hacer esto ejecutando automáticamente pdflatexcon las opciones --enable-write18o -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.idxpara elprincipalíndice y <filename>-secondindex.idxpara el segundo. Elprincipalusos del índice \indexnamepara 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}

información relacionada