biblatex / imakeidx – 색인에 \citetitle 항목이 표시되지 않도록 방지

biblatex / imakeidx – 색인에 \citetitle 항목이 표시되지 않도록 방지

저는 biblatexBiber 백엔드를 사용하여 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}

인덱스의 출력은 다음과 같습니다.

MWE의 출력

답변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}}

관련 정보