
Nota: Respostas sobre qualquer um dos pacotes geradores de índice seriam benéficas, comosplitidx
ou o padrãomakeidx
.
Já vi alguns livros com texto explicativo na página de índice após oÍndicetítulo, mas antes da lista de índice real. Como isso pode ser feito sem modificar manualmente os arquivos .idx
ou .ind
? O comando printindex
parece terrivelmente incapaz.
Aqui está um exemplo adequado, mas lamentavelmente pequeno:
Aqui está um MWE que usa o pacote 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}
Aqui está um MWE que usa o pacote splitidx
e cria dois í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}
Responder1
Use o pacoteimakeidx
em vez de makeidx
. Este pacote é mais robusto e permite:
Índice em várias colunas com
\makeindex[columns=n]
Texto antes deÍndicee depois detítulocom
\indexprologue{Text ...}
. Este comando deve ser colocado exatamente antes de\printindex
.Execute
makeindex
automaticamente.Suporte para
splitindex
roteiro de Markus Kohm.Outras opções descritas em seudocumentação.
Exemplo de 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}
Também é possível gerar diversos índices com este pacote. Neste caso você deve carregar o pacote com a splitindex
opção e executar makeindex
em <filename>-firstindex
and <filename>-secondindex
(se firstindex
e secondindex
forem os nomes dos seus índices). Ou para fazer isso automaticamente executando pdflatex
as opções --enable-write18
ou -shell-escape
.
Observação:Não é necessário nomear todos os índices (como em splitidx
). Simplesmente deixe o índice "principal" sem nome e nomeie os outros. E usar \makeindex
(sem argumentos para oprincipalíndice) e \makeindex[name=...,title=...]
para os demais índices. Observe o exemplo
\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}
Então é criado um arquivo <filename>-splitindex.idx
para oprincipalíndice e <filename>-secondindex.idx
para o segundo. Oprincipalindex usa \indexname
para o título do índice.
Correr
pdflatex --enable-write18 <filename>
fará isso automaticamente por você.
\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}