1

I want the following setups: two columns, one with an itemize environment, another with an image (well, not necessarily columns, simply a list and an image side-by-side, but I figured columns are one way of doing that). This I can achieve, and it looks more or less okay.

two columns, a list in one, an image in another, looking perfectly fine

However, I'd like to add a citation for each item in the list in the first column. This is where the result starts looking bad:

two columns, a list with citations in one, an image in another, and a list of references underneath; the image is only half-visible

Is there a way to put the references at the very bottom of the columns? As it is, it looks like the references belong to the first column, and I would like to put them underneath, if that makes sense. Basically, I want it to look like the first image, but with references at the bottom of the frame.

Here's the current setup:

\documentclass{beamer}
\usepackage{graphicx}
\usepackage[style=verbose-ibid,backend=bibtex]{biblatex}
\bibliography{bibliography}

\begin{document}

\begin{frame}\frametitle{Title}
A complete sentence on top of the frame.

\begin{columns}
    \begin{column}{0.47\textwidth}
        \begin{itemize}
            \item text1 \autocite{ref_a}
            \item text2 \autocite{ref_b}
            \item text3 \autocite{ref_c}
        \end{itemize}
    \end{column}
    \begin{column}{0.5\textwidth}
        \rule{\textwidth}{0.75\textwidth}
    \end{column}
\end{columns}

\end{frame}
\end{document}
2
  • 1
    Welcome to TeX.SX! Please don't post code fragments. Instead, put your fragments into a complete compilable document that shows the problem. – BambOo May 18 '20 at 10:03
  • Though I would not know how to proceed at the moment, you want to reproduce the behavior of \footnote's [frame] option with \autocite – BambOo May 18 '20 at 15:06
2

After a deeper look into this, with the immense help of @samcarter_is_at_topanswers.xyz, multiple solutions are in fact available.

But first of all, in a presentation, note that it is better to avoid footnotes as much as possible ! A quotation from the beamer manual (section 12.12):

First a word of warning: Using footnotes is usually not a good idea. They disrupt the flow of reading.

So first and foremost, if you absolutely want footnote citations, I recommend to reduce the information as much as possible retaining only :

  1. the author's name
  2. the title
  3. the year
  4. period

This can be obtained with the style=authoryear option of biblatex. Additional information will only take space in the frames and nobody is likely to read (or remember) them anyway.

Now that this is set, two solutions arise for your base problem in all cases, the key action is to provide the frame option to \footnote basically.

  • Solution n°1 consists in redefining a \cite command from scratch including a \footnote[frame]
  • Solution n°2 consists in patching biblatex when it calls footnote
  • Solution n°3 consists in patching beamer \footnotes to always use the frame option
% arara: pdflatex
% arara: bibtex
% arara: bibtex
% arara: pdflatex
\documentclass{beamer}
\usepackage{graphicx}
\usepackage[style=authortitle,backend=bibtex]{biblatex}
\bibliography{bibliography}



% Solution n°1 
\newcommand{\customcite}[1]{\leavevmode\unskip\footnote[frame]{\citeauthor{#1}, \citetitle{#1}, \citeyear{#1}.}}

% Other solutions


% From https://tex.stackexchange.com/a/215608/141947
% To add the year to the authortitle style
\usepackage{xpatch}
\xapptobibmacro{cite}{\setunit{\nametitledelim}\printfield{year}}{}{}

% Solution n°2
% If you want to provide only cite-related macros with frame option (may break elsewhere)
\makeatletter
\renewrobustcmd{\blx@mkbibfootnote}[2]{%
  \iftoggle{blx@footnote}
    {\blx@warning{Nested notes}%
     \addspace\mkbibparens{#2}}
    {\unspace
     \ifnum\blx@notetype=\tw@
       \expandafter\@firstoftwo
     \else
       \expandafter\@secondoftwo
     \fi
       {\csuse{blx@theendnote#1}{\protecting{\blxmkbibnote{end}{#2}}}}
       {\footnote[#1,frame]{\protecting{\blxmkbibnote{foot}{#2}}}}}}
\makeatother

% Solution n°3
% If you want to provide all your footnotes with "frame" option by default
% \makeatletter
% \renewcommand<>{\footnote}[1][frame]{%
%   \let\beamer@footnotetext=\@footnotetext%
%   \let\beamer@mpfn=\@mpfn%
%   \let\beamer@thempfn=\thempfn%
%   \let\beamer@kvorig=\KV@errx%
%   \let\beamer@xkvorig=\XKV@err
%   \def\beamer@footarg{}%
%   \def\KV@errx##1{\edef\beamer@footarg{\@tempa}}%
%   \def\XKV@err##1{\edef\beamer@footarg{\XKV@tkey}}%
%   \setkeys{beamerfootnote}{#1}%
%   \let\KV@errx=\beamer@kvorig%
%   \let\XKV@errx=\beamer@xkvorig
%   \ifx\beamer@footarg\@empty%
%     \def\beamer@next{\stepcounter\beamer@mpfn
%       \protected@xdef\@thefnmark{\beamer@thempfn}%
%       \@footnotemark\beamer@footnotetext#2}%
%   \else%
%     \def\beamer@next{%
%       \begingroup
%         \csname c@\beamer@mpfn\endcsname\beamer@footarg\relax
%         \unrestored@protected@xdef\@thefnmark{\beamer@thempfn}%
%       \endgroup
%       \@footnotemark\beamer@footnotetext#2}%
%   \fi%
%   \beamer@next}
% \makeatother



\begin{document}

\begin{frame}\frametitle{Title}
A complete sentence on top of the frame.

\begin{columns}
    \begin{column}{0.47\textwidth}
        \begin{itemize}
            \item text1 \autocite{ref_a}
            \item text2 \autocite{ref_b}
            \item text3 \autocite{ref_c}
        \end{itemize}
    \end{column}
    \begin{column}{0.5\textwidth}
        \rule{\textwidth}{0.75\textwidth}
    \end{column}
\end{columns}

\end{frame}

\begin{frame}\frametitle{Title}
  A complete sentence on top of the frame.

  \begin{columns}
      \begin{column}{0.47\textwidth}
          \begin{itemize}
            \item text1 \customcite{ref_a}
            \item text2 \customcite{ref_b}
            \item text3 \customcite{ref_c}
          \end{itemize}
      \end{column}
      \begin{column}{0.5\textwidth}
          \rule{\textwidth}{0.75\textwidth}
      \end{column}
  \end{columns}

  \end{frame}
\end{document}

In all cases, the output is the same

enter image description here

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.