[Tex/LaTex] Biblatex: First citation as full reference and following citations ibid or – when interrupted – short author-year citation

biblatexfootnotes

For my thesis I would like to have a citation style that meet the following requirements.

a) Whenever a bibliography entry is cited the first time it will generate the full entry (author, year, title etc.).

b) When it is used again without other entries in between it will be shown as "ibid." and page number if it is different.

c) When it is used again later on and other entries are in between, it should generate surname and year.

Example: Entries like this

\autocite[48]{hG89}
\autocite[48]{hG89}
\autocite[50]{hG89}
\autocite[34]{yH11}
\autocite[46]{hG89}

should lead to footnotes like this

  1. Grice, Herbert P. (1975) ≫Logic and Conversation≪. In: Syntax and semantics, S. 48.

  2. Ibid.

  3. Ibid., S. 50.

  4. Huang, Yan (2011): Pragmatics. Oxford [u. a.]: Oxford University Press, S. 34.

  5. Grice (1975), S. 46.

Is there a way to generate this in biblatex?

Best Answer

Using \usepackage[style=verbose-ibid, backend=biber]{biblatex} gives you almost what you want, except that by default it will give author-title short citations while you prefer author-year. Fortunately this can be changed quite quickly.

First, we ask biblatex to provide labeldate for us, this is important for year disambiguations. We just add labeldateparts to the package options and call biblatex with

\usepackage[style=verbose-ibid, backend=biber, labeldateparts]{biblatex}

Secondly, we redefine the short citations command cite:short to give us author-year; we also set the name output to always use family-given.

\DeclareNameAlias{default}{family-given}
\renewbibmacro*{cite:short}{%
  \printnames{labelname}%
  \setunit*{\printdelim{nameyeardelim}}%
  \iffieldundef{labelyear}
    {}
    {\printtext[parens]{\printtext[bibhyperlink]{%
       \printlabeldateextra}}}}

And that's it.

By default, verbose-ibid loads the bibliography style authortitle. Seeing that you have short author-year citations and not author-title ones, it might be a good idea to make biblatex use the authoryear instead of the authortitle bibliography style; so load biblatex with citestyle=verbose-ibid, bibstyle=authoryear instead of style=verbose-ibid.

\usepackage[citestyle=verbose-ibid, bibstyle=authoryear, backend=biber, labeldateparts]{biblatex}

A short example

\documentclass[a4paper,ngerman]{article}
\usepackage{babel}
\usepackage[german=guillemets]{csquotes}
\usepackage[citestyle=verbose-ibid, bibstyle=authoryear, backend=biber, labeldateparts]{biblatex}
\usepackage{hyperref}
\usepackage{filecontents}
\addbibresource{biblatex-examples.bib}

\begin{filecontents*}{\jobname.bib}
@mvcollection{syasem,
  title     = {Syntax and Semantics},
  location  = {New York},
  publisher = {Academic Press},
}
@collection{SpeActs,
  title     = {Speech Acts},
  volume    = {3},
  editor    = {Peter Cole and Jerry L. Morgan},
  date      = {1975},
  crossref  = {syasem},
}
@incollection{grice,
  author    = {Grice, Herbert Paul},
  title     = {Logic and Conversation},
  pages     = {41-58},
  crossref  = {SpeActs},
}
@book{huang,
  author    = {Yan Huang},
  title     = {Pragmatics},
  date      = {2011},
  series    = {Oxford Textbooks in Linguistics},
  isbn      = {978-0-19-924368-6},
  publisher = {Oxford University Press},
  location  = {Oxford and others},
}
\end{filecontents*}
\addbibresource{\jobname.bib}

\DeclareNameAlias{default}{family-given}
\renewbibmacro*{cite:short}{%
  \printnames{labelname}%
  \setunit*{\printdelim{nameyeardelim}}%
  \iffieldundef{labelyear}
    {}
    {\printtext[parens]{\printtext[bibhyperlink]{%
       \printlabeldateextra}}}}

\begin{document}
  Cite\footcite{cicero} this\footcite{wilde}, now\footcite{wilde} again\footcite{cicero}.
  Yep\footcite[1]{knuth:ct:b} now this\footcite[2]{knuth:ct:c} again: Go\footcite[3]{knuth:ct:b} and\footcite[4]{knuth:ct:c}.
  Let's\footcite{baez/article} cite\footcite{grice} an\footcite{grice} article\footcite{huang}, now\footcite{grice} this\footcite{grice}.

  \printbibliography
\end{document}

gives enter image description here