6

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!

9

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.

  • 2
    You might also want to mention the \citereset command which in some cases might be handier than the two-command combination of \citetrackerfalse/\citetrackertrue. – moewe Jun 5 '15 at 19:01

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.