8

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?

  • 4
    See the authoryear-ibib and the authoryear-icomp styles. – henrique Oct 16 '13 at 16:50
  • Thanks for your comment, henrique. Both styles meet the requirements b) and c) perfectly, but they appear not to generate a complete entry when a reference is first cited. Do I miss something? – Philip Oct 17 '13 at 11:49
  • Indeed. What you need is something that behaves like verbose-ibib as suggested by Bernard, but that falls back to authoryear-ibid. I think you should look in both .cbx files to see how they define the cite bibmacro. – henrique Oct 17 '13 at 12:12
  • I took a look at both .cbx files. Unfortunatelly, I didn´t get anything. – Philip Oct 17 '13 at 14:55
11

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

  • Thanks for your answer, moewe. Before I can use it, I have to figure out, how to get biber in my biblatex running. – Philip Oct 19 '13 at 16:09
  • @Philip With a fairly up-to-date LaTeX distribution that should be not too hard at all. The answer should work without Biber as well, just replace backebd=biber by backend=bibtex. Note though that with BibTeX the crossref field will not be treated as expected, so the example entry grice will look slightly off. – moewe Oct 20 '13 at 12:53
1

I obtained this with the following in the preamble:

\usepackage[style=verbose-ibid,citetracker]{biblatex}
  • Thanks for your comment, Bernard. The verbose-ibid style meet the requirements a) and b), but when I use it again after another reference was cited, it generates a surname-title footnote instead of a surname-year footnote, so c) is not met. Could this be solved anyhow? – Philip Oct 17 '13 at 11:54

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.