1

I use biblatex with Biber backend together with imakeidx to index my thesis. In the main text, I use \citetitle to reference names of books or articles. These get automatically added to the index. I would like to avoid that. Is there a way to keep biblatex or imakeidx from adding these entries to the index?

Here is a 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}

The output in the index:

Output of MWE

  • Depending on your needs biblatex-fiwi might fit the bill. It allows to turn on/off the indexing of titles independently. That means, you can index authors without titles (there's more fine grained control beyond that. You can, for example, index titles as subentries of author names). – Simifilm Jan 25 '17 at 16:16
2

For some reason biblatex-philsophy's \citetitle command does not check for \ifciteindex, but always indexes the title. Use the following definition where we added the check back in

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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.