1

This question is most similar to Citing Author inline and Year in footnotes. However, the respondents placed considerable effort in customizing the behavior of Year. I want to preserve the default behavior of biblatex and customize only the position of where the fields are presented.

This is what I want:

As described by Feynman 19751 we find that lorem ipsem dolor. Similarly Schrodinger 19542 found doe re mi fa so la.

In the footnotes we have:

1 Symmetries of the Super Kind; 1975. Physical Review Letters
2 Searching for my Cat; 1954. Journal of Missing Animals

Thus the meta question is, how to customize what fields are printed inline vs. in footnote without modifying ibid behaviors?


EDIT


Given @Jon comment below - lets narrow the scope to modifying only the following fields:

  1. First_Author_LastName
  2. Year
  3. Published_In
  4. Title

\autocite should give:
Inline: First_Author_Lastname YEAR#
Footnote:# Title YEAR Published_In

  • 1
    Depending on your knowledge of biblatex, you might want to qualify 'simply'. What you are asking for can amount to designing a whole new style. For example, will only articles be cited? Is there also a reference section (and, if so, how different is it from the citations)? Will authors always appear in the text and therefore must never (be able to) appear in the footnotes? The list is actually quite long, so you should think very carefully about the complete specification before you start hacking. – jon Jan 31 '16 at 19:49
  • @jon you're right. I did not consider how to make the solution gracefully deal with books, interviews, lectures, etc. The document that motivated this question is using authortitle-icomp style. \autocite gives you "<superscript #>" Inline and and the footnote gives you all authors and full title. I'm citing mostly medical journals where there are lots of very low impact journals. Thus distinguishing a citation from JAMA vs. The Journal of Naturopathic and Holistic Cures is important. Do you suggest I narrow the scope to type articles only or expand the specification to books, lectures, etc? – Jonathan Feb 1 '16 at 0:42
  • I'm a bit confused, from your question it looks like the document uses an authoryear-like style, but your comment above mentions authortitle-icomp, or are you referring to the linked question there? Would it be possible to cook up a short MWE so we can be sure to start with the correct assumptions. If you want to extend this scheme to other entry types, what would you print (books don't have a journal, is the publisher interesting?). Do you want this on all citations of a work or only the first? – moewe Feb 1 '16 at 9:01
  • @moewe AuthorTitle-icomp gives you: inline <sup>#</sup> and footnote <sup>#</sup> Author Names; Title. I picked it as starting point only because it gives me the title in the footnote. An MWE is not a problem to make, but of zero utility since it only serves to illustrate the default behavior of biblatex & AuthorTitle-icomp. As you point out, perhaps AuthorYear is a better starting point. – Jonathan Feb 1 '16 at 18:51
  • @moewe I really didn't think through how to deal with non articles. You point is well taken, the publisher is meaningless for books. – Jonathan Feb 1 '16 at 19:09
3

This can be done with a small modification of the cite macro (we assume authoyear-ibid here)

\renewbibmacro*{cite}{%
  \global\boolfalse{cbx:loccit}%
  \iffieldundef{shorthand}
    {\ifthenelse{\ifciteibid\AND\NOT\iffirstonpage}
       {\usebibmacro{cite:ibid}}
       {\ifthenelse{\ifnameundef{labelname}\OR\iffieldundef{labelyear}}
          {\usebibmacro{cite:label}%
           \setunit{\printdelim{nonameyeardelim}}}
          {\printnames{labelname}%
           \setunit{\printdelim{nameyeardelim}}}%
        \usebibmacro{cite:labeldate+extradate}}}
    {\usebibmacro{cite:shorthand}}%
  \ifentrytype{article}
    {\mkbibfootnote{\usebibmacro{cite:extrainfo:article}}}
    {}}

You can replace \ifentrytype{article} with \ifboolexpr{not test {\ifciteibid} and test {\ifentrytype{article}}} or even \ifboolexpr{not test {\ifciteseen} and test {\ifentrytype{article}}} (for the last suggestion you need to enable the citetracker).

Where the new macro cite:extrainfo:article is

\newbibmacro{cite:extrainfo:article}{%
  \printfield[citetitle]{labeltitle}%
  \newunit
  \printlabeldateextra
  \newunit
  \usebibmacro{journal+issuetitle}%
}

MWE with \ifboolexpr{not test {\ifciteseen} and test {\ifentrytype{article}}}

\documentclass{article}
\usepackage[style=authoryear-ibid, backend=biber, citetracker=true, giveninits=true, uniquename=init]{biblatex}
\addbibresource{biblatex-examples.bib}

\newbibmacro{cite:extrainfo:article}{%
  \printfield[citetitle]{labeltitle}%
  \newunit
  \printlabeldateextra
  \newunit
  \usebibmacro{journal+issuetitle}%
}

\renewbibmacro*{cite}{%
  \global\boolfalse{cbx:loccit}%
  \iffieldundef{shorthand}
    {\ifthenelse{\ifciteibid\AND\NOT\iffirstonpage}
       {\usebibmacro{cite:ibid}}
       {\ifthenelse{\ifnameundef{labelname}\OR\iffieldundef{labelyear}}
          {\usebibmacro{cite:label}%
           \setunit{\printdelim{nonameyeardelim}}}
          {\printnames{labelname}%
           \setunit{\printdelim{nameyeardelim}}}%
        \usebibmacro{cite:labeldate+extradate}}}
    {\usebibmacro{cite:shorthand}}%
  \ifboolexpr{not test {\ifciteseen} and test {\ifentrytype{article}}}
    {\mkbibfootnote{\usebibmacro{cite:extrainfo:article}}}
    {}}


\begin{document}
\cite{sigfridsson} and \cite{geer} and \cite{sigfridsson} and \cite{worman} and \cite{baez/article}  and \cite{baez/article}
\end{document}

example output of text and footnotes

edit Code modernised for biblatex v3.8 and newer. See the edit history for an older version.

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.