No meu índice, gostaria de agrupar determinados itens sob um nome de entrada de grupo. Como já utilizo os três níveis disponíveis (item, subitem, subsubitem), tentei criar um verbete sem número de página. No exemplo abaixo, "Idiomas Estranhos" não deve ser seguido por um número de página, porque é o título da classe a seguir.
\documentclass[12pt,twoside,a4paper,openright]{book}
\usepackage{xunicode}
\usepackage{imakeidx}
\makeindex[name=texts,title=Texts,columns=1,options=-s mystyle -c -l]
\begin{document}
\index[texts]{Script@\string\textbf{Weird Languages}}
3.28\index[texts]{Script!Aramaic!3.28}
5.1\index[texts]{Script!Greek!5.1}
8.1\index[texts]{Script!Demotic!8.1}
\printindex[texts]
\end{document}
O resultado até agora é:
Como faço para suprimir o número da página de uma entrada individual, aqui "Weird Languages" ou como adiciono um item sem número de página enquanto mantenho os números de página para outros itens normalmente?
Responder1
aqui está um hack que funciona quando eu o uso.
no preâmbulo, adicione estas definições:
\newcommand{\idxnopage}[1]{{}}
\providecommand{\gobble}[1]{{}}
\newcommand{\idxsechead}[1]{\textbf{#1}\gobble}
use-o assim, inserindo texto e argumento de classificação apropriados:
\index{<sort argument>@\idxsechead{<header text>} |idxnopage}
não consegui chegar a uma definição "combinada" que incorpore o \idxnopage
. (talvez David ou egreg possam melhorar isso.)
editar:aqui está um pequeno exemplo que produzirá a saída descrita acima. observe que é essencial executar makeindex
no .idx
arquivo produzido pela primeira execução do látex e, em seguida, processar o .tex
arquivo novamente por meio do látex para realmente incluir o índice na saída.
\documentclass{article}
\usepackage{makeidx}
\newcommand{\idxnopage}[1]{{}}
\providecommand{\gobble}[1]{{}}
\newcommand{\idxsechead}[1]{\textbf{#1}\gobble}
\makeindex
\begin{document}
Here is some text\index{some text} that we want indexed.
We also want a ``header'' in the index.
\index{00@\idxsechead{Header} |idxnopage}
\printindex
\end{document}
Responder2
Apenas para prova de conceito. Pegando o .ind
arquivo gerado a partir do arquivo de exemplo fornecido acima, você tem:
\begin{theindex}
\item Script
\subitem Aramaic
\subsubitem 3.28, 1
\subitem Demotic
\subsubitem 8.1, 1
\subitem Greek
\subsubitem 5.1, 1
\item \string, \textbf{Weird Languages}{1}
\end{theindex}
Se você mudar para:
\begin{theindex}
\item \textbf{Weird Languages}
\item Script
\subitem Aramaic
\subsubitem 3.28, 1
\subitem Demotic
\subsubitem 8.1, 1
\subitem Greek
\subsubitem 5.1, 1
\end{theindex}
e execute xelatex
mais uma vez com a noautomatic
opção for imakeidx
, você obterá 'Idiomas estranhos' acima de 'Script' e no mesmo nível, mas sem referência de página. Para uma ou duas edições únicas, é bastante simples.