Eu uso biblatex
o backend do Biber para imakeidx
indexar minha tese. No texto principal, utilizo \citetitle
para referenciar nomes de livros ou artigos. Eles são adicionados automaticamente ao índice. Eu gostaria de evitar isso. Existe uma maneira de manter biblatex
ou imakeidx
adicionar essas entradas ao índice?
Aqui está um MWE:
\begin{filecontents*}{\jobname.bib}
@article{lewis1979a,
Author = {David Lewis},
Journal = {Philosophical Review},
Number = {4},
Pages = {513--543},
Title = {Attitudes \emph{De Dicto} and \emph{De Se}},
Volume = {88},
Year = {1979},
}
\end{filecontents*}
\documentclass{article}
\usepackage[backend=biber,style=philosophy-classic]{biblatex}
\addbibresource{\jobname.bib}
\usepackage{imakeidx}
\makeindex[options=-s latex.ist]
\begin{document}
As described by in Lewis's \citetitle{lewis1979a}, blabla.\index{Some Entry}
\printbibliography
\printindex
\end{document}
A saída no índice:
Responder1
Por alguma razão, o comando biblatex-philsophy
do \citetitle
não verifica \ifciteindex
, mas sempre indexa o título. Use a seguinte definição onde adicionamos o check back
\DeclareCiteCommand{\citetitle}
{\boolfalse{citetracker}%
\boolfalse{pagetracker}%
\usebibmacro{prenote}}
{\ifciteindex{\indexfield{indextitle}}{}%<--- the check is new
\printtext[bibhyperref]{\printfield[citetitle]{labeltitle}}}
{\multicitedelim}
{\usebibmacro{postnote}}
\DeclareCiteCommand*{\citetitle}
{\boolfalse{citetracker}%
\boolfalse{pagetracker}%
\usebibmacro{prenote}}
{\ifciteindex{\indexfield{indextitle}}{}%<--- the check is new
\printtext[bibhyperref]{\printfield[citetitle]{title}}}
{\multicitedelim}
{\usebibmacro{postnote}}