2

I'm using the verbose-trad1 style for my bibliography. This style (and all verbose style I think) use a shorter author-title format when an item is cited a second time, like this :

  1. Johnny (1992). My life.
  2. Nathan (2015). Not my life.
  3. Johnny, op. cit.

There are 115 pages in my work and no one will remember what book I am talking about with just the author and this miserable "op cit". So I need the second citation to be with the date, like this :

  1. Johnny (1992), op. cit.

Thank you for reading.. please help a poor student with her master's thesis

Here a minimal example

 \documentclass[12pt,a4paper]{book}

 \usepackage[bibstyle=authoryear,citestyle=verbose-trad1,indexing=cite,firstinits=true,dashed=true,citepages=omit]{biblatex}
 \bibliography{example.bib}


 \begin{document}

 This is just filler text\footcite{john_2010}. This is just filler
 text\footcite{nathan_2015}. This is just filler
 text\footcite{john_2010}.

 \end{document}

And the example.bbl file :

 @book{nathan_2015,     
 Author = {Nathan},     
 Title= {Not my life},  
 Year = {2015}}

 @book{john_2010,   
 Author = {Johnny},
 Title= {My life},  
 Year = {1992}}
  • Please help the poor helpers by adding a minimal example which could be used for tests. – Ulrike Fischer Jun 11 '15 at 13:46
  • Done ! Sorry I didn't think it was necessary :( – Elizabeth Jun 11 '15 at 14:34
  • Am I right in thinking you want this style for all subsequent citations? – moewe Jun 11 '15 at 15:35
  • Yes absolutely. I need the full citation for the first, then the "author (date), op.cit" for all of the subsequent citations. – Elizabeth Jun 11 '15 at 15:41
2

Normally the verbose-trad styles go together with a authortitle style and thus use titles to disambiguate references. So "Johnny, op. cit." will only appear if you cite exactly one work by Johnny, as soon as there are more, the title field is added to avoid confusion.

Anyway, we can make sure the year is always added.

We first borrow a authoryear macro

\newbibmacro*{cite:labeldate+extradate}{%
  \iffieldundef{labelyear}
    {}
    {\printtext[parens]{%
       \printtext[bibhyperref]{%
         \printlabeldateextra}}}}

And then inject this macro into the relevant places to print the year after the name

\renewbibmacro*{cite:name}{%
  \printnames{labelname}%
  \setunit{\printdelim{nameyeardelim}}%
  \usebibmacro{cite:labeldate+extradate}%
  \setunit*{\printdelim{nametitledelim}}}

\renewbibmacro*{cite:idem}{%
  \bibstring[\mkibid]{idem\thefield{gender}}%
  \setunit{\printdelim{nameyeardelim}}%
  \usebibmacro{cite:labeldate+extradate}%
  \setunit{\printdelim{nametitledelim}}}

MWE

\documentclass[12pt,a4paper]{book}

\usepackage[bibstyle=authoryear, citestyle=verbose-trad1, indexing=cite, giveninits=true, citepages=omit]{biblatex}
\addbibresource{biblatex-examples.bib}

\newbibmacro*{cite:labeldate+extradate}{%
  \iffieldundef{labelyear}
    {}
    {\printtext[parens]{%
       \printtext[bibhyperref]{%
         \printlabeldateextra}}}}

\renewbibmacro*{cite:name}{%
  \printnames{labelname}%
  \setunit{\printdelim{nameyeardelim}}%
  \usebibmacro{cite:labeldate+extradate}%
  \setunit*{\printdelim{nametitledelim}}}

\renewbibmacro*{cite:idem}{%
  \bibstring[\mkibid]{idem\thefield{gender}}%
  \setunit{\printdelim{nameyeardelim}}%
  \usebibmacro{cite:labeldate+extradate}%
  \setunit{\printdelim{nametitledelim}}}

\begin{document}
This is just filler text\footcite{geer}. This is just filler
text\footcite{worman}. This is just filler
text\footcite{geer}.

Text \footcite{knuth:ct:a} an \footcite{knuth:ct:b} again \footcite{knuth:ct:a}.
\end{document}

enter image description here

  • It works perfectly, thanks a lot, you save my thesis :) – Elizabeth Jun 13 '15 at 13:36

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.