Background


In a Beamer Presentation I am typesetting, the author wants two things:

  1. The author wants both footnote references and an end-of-presentation reference list.
  2. In the footnote reference, the author wants to list both the reference's author and the reference's publication information, but not the title or any unnecessary URL's.

So far, I have solutions.

  1. I can use biblatex's\footfullcite or \footcite command for footnote references.
  2. For the footnote style, the chem-acs bibliography style does the trick for the standard bibliography items.

MWE #1: Working Case

\documentclass{beamer}
\begin{filecontents}{test.bib}
@article{testArt,
 AUTHOR = {Author, Aa},
  TITLE = {A long title illustrating the need to remove the title from footnote citations, at least in Presentations},
JOURNAL = {Lorem Ipsum Stud.},
 VOLUME = {15},
  PAGES = {1--20},
   YEAR = {1999},
    URL = {https://math.stackexchange.com},
}
\end{filecontents}

\usepackage[backend=biber,style=chem-acs]{biblatex}
\addbibresource{test.bib}

\begin{document}
\begin{frame}
An important fact\footfullcite{testArt} is useful for the following results.  
\end{frame}

\begin{frame}{References}
\printbibliography
\end{frame}
\end{document}

A slide with <code>chem-acs</code> reference in footnote A reference slide in <code>chem-acs</code> style

The Problem


The issue is that the author also wants to cite an arXiv article, and if I use the @online type of biblatex to format the arXiv reference, chem-acs does not know what to do. It prints the title, and not any of the eprint information.

MWE #2: Breaking case

\documentclass{beamer}
\begin{filecontents}{testAppend.bib}
@article{testArt,
 AUTHOR = {Author, Aa},
  TITLE = {A long title illustrating the need to remove the title from footnote citations, at least in Presentations},
JOURNAL = {Lorem Ipsum Stud.},
 VOLUME = {15},
  PAGES = {1--20},
   YEAR = {1999},
    URL = {https://math.stackexchange.com},
}
@online{fakearXiv,
     AUTHOR = {Buthor, Bb},
      TITLE = {Not a real arXiv article},
       DATE = {1950-05-01},
 EPRINTTYPE = {arXiv},
     EPRINT = {5005.01},
EPRINTCLASS = {math.GM},
}
\end{filecontents}

\usepackage[backend=biber,style=chem-acs]{biblatex}
\addbibresource{testAppend.bib}

\begin{document}
\begin{frame}
An important fact\footfullcite{testArt} is useful for the following results.

We also mention the following result.\footfullcite{fakearXiv}
\end{frame}

\begin{frame}{References}
\printbibliography
\end{frame}
\end{document}

New first slide, with bad arXiv output in footnote (contains Title, no arXiv information) New reference slide, bad arXiv output again

(chem-angew does not give significantly different results -- there's a date, but nothing more).

There are two workable-but-annoying solutions that I can see:

A. Manually format all footnote references (using \nocite as appropriate), and use a standard bibliography style to get the end-of-presentation references correct.

B. Create a new biblatex style whose in-text citation style is akin to the desired footnote style (but allows @online), and whose bibliography style is any appropriate style.

The Question

Is there any other workaround that maintains the author-and-publication format for footnotes, but allows @online (and possibly other unusual formats)?

Objectives

All I need are @article and @online for the present assignment; however, I will try to give more general criteria. (Thanks to commenter moewe for this suggestion.)


A good solution will include the following fields for footnote citations of the given varieties, and will not include title. (No formatting requirements for end-of-presentation bibliography; punctuation, formatting, and ordering is flexible.)

@article: Author, Journal, Year, Volume (optional Number), Pages.

@book: Author, Location:Publisher, (opt. Edition), Year. (optional Volume/Part/etc.)

@collection: Editor, Location:Publisher, (opt. Edition), Year. (optional Volume/Part/etc.)

@incollection: Author, In: Editor, Location:Publisher, (opt. Edition), Year, Pages. (optional Volume/Part/etc.)

@inproceedings: same, but may add Organization.

@online: Author, Year (optional), EPrint.

@thesis: Author, (optional Type), Institution, Year.

I think this is enough to get the idea. Authors/Editors, some field indicating the publisher and/or location (or electronic equivalent), Pages for parts of a source, Year.

(Note: at this level, the answers to Question 233851 may well be enough. [Thanks to user moewe for bringing this to my attention.])


A great solution will do the above, except that whenever two sources in the document have the same author and year, one must print the title or short-title (similarly to authortitle-terse, if slightly more restrictive).


An excellent solution will do the above, and have more descriptive end-bibliography files (allowing titles in particular). (This is probably impossible without effectively making a new bibliography style.)

  • I didn't check, but what about the eprint=true option? – moewe May 10 at 21:01
  • @moewe, it appears to be a half-fix. eprint=true in the initial options does force it to display the date and arXiv information. It still has the unnatural title, and arguably the date is unnecesary given the month/year information encoded in the (post-2007) arXiv info. – user52733 May 10 at 21:15
  • Ah I see. Just so I understand correctly: Should the citations in the footnotes be exact copies of the references at the end or should the be shorter? In the latter case I think you will have to roll your own citation command. \footfullcite really is there to give the full reference as it would appear in the bibliography (give or take a few small details). What exactly do you want to see in the citation for each entry type? You can always go with \AtEveryCitekey{\clearfield{title}} but I'm no fan of that (see tex.stackexchange.com/q/233581/35864 and linked questions). – moewe May 10 at 21:18
  • @moewe, the footnote references should be succinct and consistently non-titled, as above (but more than author-year, publication info is necessary). The end references can be longer (and that would be nice), but I am not making it a requirement. – user52733 May 10 at 21:32
  • It's getting quite late where I am and I should get some sleep, but I will have a look at this tomorrow (if it is not solved until then). Until then it would help greatly if you could give an exact definition of what the citations should look like for each entry type involved. I'd be interested in what should be shown for @book and @incolection for example. Bearing in mind that there could be several books by the same author from the same year published by the same publisher. – moewe May 10 at 21:38
up vote 4 down vote accepted

Since the information in the footnote citations and the bibliography at the end differ quite a bit, I think it is necessary to completely re-implement the citations independent of the bibliography, that actually allows you to use this citation style with almost every bibliography style.

The idea is to define a citation macro for each entry type that then prints the short citation you want to see.

The macro optionallabeltitle prints the title if there are several entries by the same list of authors from the same year. Currently that macro is only called for @books, because it seemed only relevant there. But you can of course extend this.

\documentclass{article}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@article{testArt,
 AUTHOR = {Author, Aa},
  TITLE = {A long title illustrating the need to remove the title from footnote citations, at least in Presentations},
JOURNAL = {Lorem Ipsum Stud.},
 VOLUME = {15},
  PAGES = {1--20},
   YEAR = {1999},
    URL = {https://math.stackexchange.com},
}
@online{fakearXiv,
     AUTHOR = {Buthor, Bb},
      TITLE = {Not a real arXiv article},
       DATE = {1950-05-01},
 EPRINTTYPE = {arXiv},
     EPRINT = {5005.01},
EPRINTCLASS = {math.GM},
}
\end{filecontents}

\usepackage[backend=biber,style=chem-acs,labeldateparts,eprint=true]{biblatex}
\addbibresource{\jobname.bib}
\addbibresource{biblatex-examples.bib}

\newbibmacro{cite:type:article}{%
  \usebibmacro{author/translator+others}%
  \newunit
  \usebibmacro{journal+issuetitle}%
  \setunit{\bibpagespunct}%
  \printfield{pages}}

\newbibmacro{cite:type:online}{%
  \usebibmacro{author/editor+others/translator+others}%
  \newunit
  \ifboolexpr{test {\iffieldequalstr{eprinttype}{arXiv}} or
              test {\iffieldequalstr{eprinttype}{arxiv}}}
    {}
    {\printlabeldate}%
  \newunit
  \iftoggle{bbx:eprint}
    {\usebibmacro{eprint}}
    {}%
  \newunit
  \iffieldundef{eprint}
    {\usebibmacro{url}}
    {}}

\newbibmacro{cite:type:book}{%
  \usebibmacro{author/translator+others}%
  \setunit{\printdelim{nametitledelim}}%
  \usebibmacro{optionallabeltitle}%
  \newunit
  \usebibmacro{cite:publisher+location+edition+date}}

\newbibmacro{cite:type:collection}{%
  \usebibmacro{editor+others}%
  \newunit
  \usebibmacro{cite:publisher+location+edition+date}}

\newbibmacro{cite:type:incollection}{%
  \usebibmacro{author/translator+others}%
  \newunit
  \usebibmacro{in:}%
  \usebibmacro{cite:type:collection}%
  \setunit{\bibpagespunct}%
  \printfield{pages}}

\newbibmacro{cite:type:proceedings}{%
  \usebibmacro{editor+others}%
  \newunit
  \printfield{organization}%
  \newunit
  \usebibmacro{cite:publisher+location+edition+date}}

\newbibmacro{cite:type:inproceedings}{%
  \usebibmacro{author/translator+others}%
  \newunit
  \usebibmacro{in:}%
  \usebibmacro{cite:type:proceedings}%
  \setunit{\bibpagespunct}%
  \printfield{pages}}

\newbibmacro{cite:type:thesis}{%
  \usebibmacro{author}%
  \newunit
  \printfield{type}%
  \newunit
  \printlist{institution}%
  \setunit*{\addcomma\space}%
  \printlabeldate
}

\newbibmacro*{optionallabeltitle}{%
  \iffieldundef{extradate}
    {}
    {\ifnumgreater{\thefield{extradate}}{0}
       {\printfield[citetitle]{labeltitle}}
       {}}}

\newbibmacro*{cite:publisher+location+edition+date}{%
  \printlist{location}%
  \setunit*{\addcolon\space}
  \printlist{publisher}%
  \setunit*{\addcomma\space}%
  \printfield{edition}%
  \setunit*{\addcomma\space}%
  \printlabeldate
  \newunit
  \iffieldundef{maintitle}
    {\printfield{volume}%
     \printfield{part}}
    {}%
}

\makeatletter
\DeclareCiteCommand{\foothalffullcite}[\mkbibfootnote]
  {\usebibmacro{prenote}}
  {\ifbibmacroundef{cite:type:\thefield{entrytype}}
     {\blx@warning{No cite macro for entry type '\thefield{entrytype}'.\MessageBreak
        Falling back to full bibldriver}%
      \usedriver{}{\thefield{entrytype}}}
     {\usebibmacro*{cite:type:\thefield{entrytype}}}}
  {\multicitedelim}
  {\usebibmacro{postnote}}
\makeatother

\DeclareMultiCiteCommand{\foothalffullcites}[\mkbibfootnote]{\foothalffullcite}{\multicitedelim}
\DeclareAutoCiteCommand{foothalffullcite}{\foothalffullcite}{\foothalffullcites}
\ExecuteBibliographyOptions{autocite=foothalffullcite}

\begin{document}
An important fact\autocite{testArt} is useful for the following results.

We also mention\autocite{fakearXiv} the following result.\autocite{markey}

Dolor\autocite{knuth:ct:b} sit\autocite{knuth:ct:c} amet\autocite{companion}

Lorem\autocite{westfahl:space} ipsum \autocite{gaonkar:in}

Lorem\autocite{geer} ipsum \autocite{loh}

Lorem\autocite{pines} ipsum \autocite{brandt}

\printbibliography
\end{document}

footnotes of the MWE

Your Answer

 

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.