biblatex / imakeidx – Evite que entradas \citetitle apareçam no índice

biblatex / imakeidx – Evite que entradas \citetitle apareçam no índice

Eu uso biblatexo backend do Biber para imakeidxindexar minha tese. No texto principal, utilizo \citetitlepara referenciar nomes de livros ou artigos. Eles são adicionados automaticamente ao índice. Eu gostaria de evitar isso. Existe uma maneira de manter biblatexou imakeidxadicionar 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:

Saída do MWE

Responder1

Por alguma razão, o comando biblatex-philsophydo \citetitlenã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}}

informação relacionada