Achei fácil produzir um índice do biblatex usando o pacote makeidx, a opção indexing=cite do biblatex e os comandos \makeindex e \printindex. Porém, o que não achei fácil foi ter um índice apenas de nomes, sem menção de títulos. Por favor, dê uma olhada no seguinte MWE, que tirei dos documentos de exemplo do biblatex (20), ligeiramente ajustado:
\documentclass[a4paper]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[american]{babel}
\usepackage{csquotes}
\usepackage[indexing,style=authortitle,backend=biber]{biblatex}
\addbibresource{biblatex-examples.bib}
\usepackage{makeidx}
\renewbibmacro*{citeindex}{\indexnames{labelname}{}}
\makeindex
\begin{document}
\section*{Indexing with the \texttt{makeidx} package}
\nocite{*}
\cite{piccato,gaonkar,malinowski,coleridge,gerhardt,cicero}
\index{Example entry}
\clearpage
\printbibliography
\printindex
\end{document}
Eu tentei inserir
\renewbibmacro*{citeindex}{%
\ifboolexpr{ test {\ifciteindex} and not test {\iffootnote} }
{\indexnames{author}}{}}
como propostoaqui, mas isso não parece funcionar. Então, alguma idéia de como posso obter apenas um índice de nomes?
Responder1
Você precisa adicionar indexing=cite
às suas biblatex
opções.
\usepackage[indexing=cite,style=authortitle,backend=biber]{biblatex}
Para evitar \citetitle
adicionar o título ao índice, você precisa modificar a \citetitle
macro para alterar o que ela indexa. Presumi que, se você citar um título, ainda deseja que o autor apareça no índice daquela página, então modifiquei \citetitle
para indexar os nomes dos autores. Mas se você não quiser, basta remover completamente o código de indexação do \citetitle
.
Aqui está um exemplo completo:
\documentclass[a4paper]{article}
\usepackage[american]{babel}
\usepackage{csquotes}
\usepackage[indexing=cite,style=authortitle,backend=biber]{biblatex}
\addbibresource{biblatex-examples.bib}
\DeclareCiteCommand{\citetitle}
{\boolfalse{citetracker}%
\boolfalse{pagetracker}%
\usebibmacro{prenote}}
{\ifciteindex
{\indexnames{labelname}}
{}%
\printfield[citetitle]{labeltitle}}
{\multicitedelim}
{\usebibmacro{postnote}}
\DeclareCiteCommand*{\citetitle}
{\boolfalse{citetracker}%
\boolfalse{pagetracker}%
\usebibmacro{prenote}}
{\ifciteindex
{\indexnames{labelname}}
{}%
\printfield[citetitle]{title}}
{\multicitedelim}
{\usebibmacro{postnote}}
\usepackage{makeidx}
\renewbibmacro*{citeindex}{\indexnames{labelname}{}}
\makeindex
\begin{document}
\section*{Indexing with the \texttt{makeidx} package}
\nocite{*}
\cite{piccato,gaonkar,malinowski,cicero}
\citetitle{coleridge,gerhardt}
\index{Example entry}
\clearpage
\printbibliography
\printindex
\end{document}