Suponha que, no meio do meu documento, eu tenha um parágrafo sobre corujas: Here is a new paragraph about owls. Owls are extraordinary.
Quero indexar este parágrafo usando imakeidx, então escrevo,
\index{owls}Here is a new paragraph about owls. Owls are extraordinary.
Porém, é problemático que se este parágrafo terminar no topo de uma nova página k, então a entrada para corujas no índice se refere à página anterior; ele tem uma página "k-1" ao lado, em vez de um "k" (veja, por exemplo, o exemplo mínimo de trabalho abaixo).
A solução mais fácil é mover o \index
comando para dentro do parágrafo: Here\index{owls} is a new paragraph about owls. Owls are extraordinary.
Para mim, porém, isso não é o ideal. Tenho um documento longo e muitos dos parágrafos possuem muitos \index
comandos associados. Mover esses \index
comandos dentro dos parágrafos correspondentes torna os parágrafos menos legíveis para edição.
Embora o texto acima descreva o caso mais simples de \index
, há um problema semelhante ao especificar um intervalo de páginas. Eu gostaria simplesmente de escrever,
\index{owls|(}Here is a new paragraph about owls. Owls are extraordinary.\index{owls|)}
em vez de,
Here\index{owls|(} is a new paragraph about owls. Owls are extraordinary.\index{owls|)}
.
Isso me leva à minha pergunta. Como defino um novo comando \indexn
que produza números de página corretos no índice para os dois casos a seguir:
\indexn{owls}Here is a new paragraph about owls. Owls are extraordinary.
e
\indexn{owls|(}Here is a new paragraph about owls. Owls are extraordinary.\indexn{owls|)}
,?
Um exemplo mínimo de trabalho do problema está abaixo.
\documentclass{book}
\usepackage{imakeidx}
\makeindex
\begin{document}
% This code block just generates 552 copies of the word "lorem".
\newcount\zz
\loop
lorem
\advance\zz1
\ifnum\zz<552
\repeat
\index{owls}Here is a paragraph about owls. Owls are extraordinary.
%\index{owls|(}Here is a new paragraph about owls. Owls are extraordinary.\index{owls|)}
\printindex
\end{document}
Responder1
\mbox{}\index{owls}
ou \leavevmode\index{owls}
funcionaria