[Tex/LaTex] How to tell BibLaTeX to produce the full citation instead of “ibid.” at a specific location

biblatexciting

Background: I am using BibLaTeX/Biber with style=authoryear-icomp to produce "(ibid.)" whenever there are successive identical citations. However, at certain points, I use \citetext{foo} to enter a manual citation that is not a cite-key and that I do not need to include in the bibliography. (This can be a newspaper article, for example, which I cite as "(New York Times, 23 April 2008)").

Problem: BibLaTeX seems to ignore \citetext{foo} when it determines whether there are two identical successive citations. For example

\parencite{Smith2001} some text \textcite{New York Times, 23 April 2008}
some text \parencite{Smith2001}

produces

(Smith 20001) some text (New York Times, 23 April 2008) some text (ibid.)

Question: Is there an easy way to tell BibLaTeX not to produce "ibid." but the full citation at a given point? This could also be useful for style manuals that prohibit "ibid." in the first citation of a page.

Any hints very much appreciated!

Best Answer

You can switch on and off the cite tracker feature with \citetrackertrue and \citetrackerfalse commands. A second option is to use \mancite (to be used in the same context where the manual citation appears); \mancite also execute the hook defined with \OnManualCitation. The third option is to use \citereset (it reset all subsequent citations), and there is a global option with the same name taking a document subdivision (e.g., part, chapter,...) as its argument.

\documentclass[10pt]{article}
\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}
@article{first,
 title = {First Title},
 author = {Author, Author},
 journal = {Journal title},
 pages = {10-11},
 year = 2015,
}
@book{second,
 title = {Second Title},
 author = {Duthor, Duthor},
 year = 2015,
}
\end{filecontents}

\usepackage[style=authoryear-icomp]{biblatex}
\addbibresource{\jobname.bib}

\begin{document}

\autocite{first}

\autocite{second}

\smallskip
\verb|\citetrackerfalse/\citertrackertrue|

\citetrackerfalse
\autocite{second}
\citetrackertrue

\autocite{second}

\smallskip
\verb|\mancite|

\begingroup\mancite
\autocite{second}
\endgroup

\smallskip
\verb|\citereset|
\citereset

\autocite{second}

\printbibliography

\end{document} 

enter image description here

biblatex also provides a pagetracker option whose possible values are true, false, page and spread for the case of a repeated citation in a new page.

Related Question