biblatex / imakeidx – Избегать появления записей \citetitle в индексе

biblatex / imakeidx – Избегать появления записей \citetitle в индексе

Я использую biblatexс бэкэндом Biber вместе с imakeidxдля индексации моей диссертации. В основном тексте я использую \citetitleдля ссылок на названия книг или статей. Они автоматически добавляются в индекс. Я хотел бы этого избежать. Есть ли способ сохранить biblatexили imakeidxне добавлять эти записи в индекс?

Вот 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}

Вывод в индексе:

Выход МВЭ

решение1

По какой-то причине biblatex-philsophyкоманда \citetitleне проверяет наличие \ifciteindex, но всегда индексирует заголовок. Используйте следующее определение, в котором мы добавили проверку обратно в

\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}}

Связанный контент