私は論文の索引付け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}}