1

Biblatex doesn't show the same source on successive citations. I tried it with dashed=false, but it doesn't work. How can I make that the work is always fully cited, even on subsequent citations?

\RequirePackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@interview{homer,
  interviewee = {Homer Simpson},
  interviewer = {Bart Simpson},
  date        = {2018-07-25},
  address     = {Springfield},
}
\end{filecontents*}
\begin{filecontents}{interview.dbx}
\DeclareDatamodelEntrytypes{interview}
\DeclareDatamodelFields[type=list,datatype=name]{
  interviewer,
  interviewee,
}

\DeclareDatamodelEntryfields[interview]{
  addendum,
  doi,
  eprint,
  eprintclass,
  eprinttype,
  interviewer,
  interviewee,
  location,
  note,
  pubstate,
}
\end{filecontents}
\documentclass[ngerman]{article}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[datamodel=interview,backend=biber, dashed=false, style=authortitle, citestyle=verbose,]{biblatex}
\usepackage{hyperref}
\addbibresource{\jobname.bib}

\NewBibliographyString{interview}
\DefineBibliographyStrings{german}{%
  interview   = {Interview},
}

\DeclareNameAlias{interviewee}{author}

\DeclareBibliographyDriver{interview}{%
  \usebibmacro{bibindex}%
  \usebibmacro{begentry}%
  \printnames{interviewee}%
  \newunit\newblock
  \bibstring{interview}%
  \setunit{\addspace}%
  \printnames{interviewer}%
  \newunit\newblock
  \printfield{note}%
  \newunit\newblock
  \usebibmacro{location+date}%
  \newunit\newblock
  \usebibmacro{doi+eprint+url}%
  \newunit\newblock
  \usebibmacro{addendum+pubstate}%
  \setunit{\bibpagerefpunct}\newblock
  \usebibmacro{pageref}%
  \newunit\newblock
  \iftoggle{bbx:related}
    {\usebibmacro{related:init}%
     \usebibmacro{related}}
    {}%
  \usebibmacro{finentry}}

\begin{document}
\footcite{homer}
\footcite{homer}

\printbibliography
\end{document}  
  • Or is this about the citations? dashed=false won't help there at all. What output would you expect? – moewe Dec 13 '18 at 19:12
  • Your right, twice a citestyle doens't make sense at all. I corrected it in the code. The first footnote is the full citation but the second is only a small green box. I would like to have the full citation twice. – derd Dec 13 '18 at 19:28
  • style=authortitle, citestyle=verbose, should be the same as style=verbose,. Usually the subsequent citation is a shorter form with only author and title. Do you still want the full citation on subsequent cites in this case? – moewe Dec 13 '18 at 19:29
  • Code from tex.stackexchange.com/q/464361/35864 – moewe Dec 13 '18 at 19:35
  • Oh, I didn't knew that those two citestyles are the same as only verbose. Yes, I want the full citation on subsequent cites. – derd Dec 13 '18 at 21:08
1

The styles of the verbose family show a full citation (i.e. the full reference/bibliography entry) on a first cite and a shorter author-title citation on subsequent citations.

For the shorter author-title citation the verbose styles use the usual labelname and labeltitle fields. Those fields are artificial fields that take their contents from other fields in a certain order of precedence. labelname the first of (short)author, (short)editor and translator; labeltitle the first of shorttitle, title, maintitle. Our @interview has none of these fields and so the citation remains completely empty. One solution to get a citation would be to include fields that @interview has in the definitions of labelname and labeltitle so that these fields don't come out as empty.

In the comments you mentioned that @interviews should just be cited as full on subsequent citations as well, hence we take a slightly different route. The following MWE sets up a general structure to treat subsequent (short in biblatex-speak) citations of particular entry types differently from the rest.

\RequirePackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@interview{homer,
  interviewee = {Homer Simpson},
  interviewer = {Bart Simpson},
  date        = {2018-07-25},
  address     = {Springfield},
}
\end{filecontents*}
\begin{filecontents}{interview.dbx}
\DeclareDatamodelEntrytypes{interview}
\DeclareDatamodelFields[type=list,datatype=name]{
  interviewer,
  interviewee,
}

\DeclareDatamodelEntryfields[interview]{
  addendum,
  doi,
  eprint,
  eprintclass,
  eprinttype,
  interviewer,
  interviewee,
  location,
  note,
  pubstate,
}
\end{filecontents}
\documentclass[ngerman]{article}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[datamodel=interview,backend=biber, dashed=false, style=verbose]{biblatex}
\usepackage{hyperref}
\addbibresource{\jobname.bib}

\NewBibliographyString{interview}
\DefineBibliographyStrings{german}{%
  interview   = {Interview},
}

\DeclareNameAlias{interviewee}{author}

\DeclareBibliographyDriver{interview}{%
  \usebibmacro{bibindex}%
  \usebibmacro{begentry}%
  \printnames{interviewee}%
  \newunit\newblock
  \bibstring{interview}%
  \setunit{\addspace}%
  \printnames{interviewer}%
  \newunit\newblock
  \printfield{note}%
  \newunit\newblock
  \usebibmacro{location+date}%
  \newunit\newblock
  \usebibmacro{doi+eprint+url}%
  \newunit\newblock
  \usebibmacro{addendum+pubstate}%
  \setunit{\bibpagerefpunct}\newblock
  \usebibmacro{pageref}%
  \newunit\newblock
  \iftoggle{bbx:related}
    {\usebibmacro{related:init}%
     \usebibmacro{related}}
    {}%
  \usebibmacro{finentry}}

\newbibmacro*{cite:short:interview}{%
  \usebibmacro{cite:full:citepages}%
  \printtext[bibhyperlink]{%
    \usedriver
      {\DeclareNameAlias{sortname}{default}}
      {\thefield{entrytype}}}}

% cite:short is really 'cite:subsequent'
\renewbibmacro*{cite:short}{%
  \ifbibmacroundef{cite:short:\strfield{entrytype}}
    {\printnames{labelname}%
     \setunit*{\printdelim{nametitledelim}}%
     \printtext[bibhyperlink]{%
       \printfield[citetitle]{labeltitle}}}
    {\usebibmacro*{cite:short:\strfield{entrytype}}}}

\begin{document}
Lorem\footcite{homer}
ipsum\footcite{homer}

\printbibliography
\end{document}

Screenshot of the two footnotes in the MWE. Both footnotes show "Homer Simpson. Interview Bart Simpson. Springfield, 25. Juli 2018.", the second footnote is linked to the first

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.