It's a very similar problem to this one
You need to use \footnotemark
inside the block
environment and \foocitetext{reese}
immediately after it:
\begin{frame}{A frame}
\begin{block}{Classic theory}
As we already know from classic theory\footnotemark, ...
\begin{itemize}
\item Fact 1
\item Fact 2
\end{itemize}
\end{block}\footcitetext{reese}
Now there are some new developments\footcite{bertram} challenging the classic view.
\end{frame}
For your particular style, this basic idea can be incorporated into \sfcite
. Here footnotes outside blocks are set using the \AfterEndEnvironment
hook from the etoolbox package.
\documentclass{beamer}
\usepackage[english]{babel}
\usepackage{csquotes}
\usepackage[style=numeric-comp,citetracker=true,sorting=none]{biblatex}
\usepackage{hyperref}
\usetheme{Copenhagen}
\setbeamertemplate{navigation symbols}{}
\DeclareCiteCommand{\footfullcitetext}
[\let\thefootnote\relax\mkbibfootnotetext]
{\usebibmacro{prenote}}
{\mkbibbrackets{\thefield{labelnumber}}%
\addnbspace%
\usedriver
{\DeclareNameAlias{sortname}{default}}
{\thefield{entrytype}}}
{\multicitedelim}
{\usebibmacro{postnote}}
\makeatletter
\let\cbx@citehook=\empty
\newtoggle{cbx@blockcite}
\renewcommand{\@makefntext}[1]{%
\noindent\normalfont\@thefnmark#1}
\DeclareCiteCommand{\sfcite}[\cbx@superscript]%
{\usebibmacro{cite:init}%
\let\multicitedelim=\supercitedelim
\iffieldundef{prenote}{}{\BibliographyWarning{Ignoring prenote argument}}%
\iffieldundef{postnote}{}{\BibliographyWarning{Ignoring postnote argument}}}
{\usebibmacro{citeindex}%
\ifciteseen
{\ifnumequal{\value{page}}{\csuse{cbx@page@\thefield{entrykey}}}
{}
{\ifnumequal{\value{framenumber}}{\csuse{cbx@frame@\thefield{entrykey}}}
{\usebibmacro{sfcite}}
{}}}
{\usebibmacro{sfcite}}%
\usebibmacro{cite:comp}}
{}
{\usebibmacro{cite:dump}}
\newbibmacro*{sfcite}{%
\csnumgdef{cbx@page@\thefield{entrykey}}{\value{page}}%
\csnumgdef{cbx@frame@\thefield{entrykey}}{\value{framenumber}}%
\xappto\cbx@citehook{%
\noexpand\footfullcitetext{\thefield{entrykey}}}}
\newrobustcmd*{\cbx@superscript}[1]{%
\mkbibsuperscript{\mkbibbrackets{#1}}%
\iftoggle{cbx@blockcite}
{}
{\cbx@citehook%
\global\let\cbx@citehook=\empty}}
\BeforeBeginEnvironment{block}{\global\toggletrue{cbx@blockcite}}
\def\metabox#1{\edef\theprevdepth{\the\prevdepth}\nointerlineskip
\vbox to0pt{#1\vss}\prevdepth=\theprevdepth}
\AfterEndEnvironment{block}
{\metabox{%
\global\togglefalse{cbx@blockcite}%
\cbx@citehook%
\global\let\cbx@citehook=\empty}}
\makeatother
\addbibresource{biblatex-examples.bib}
\begin{document}
\begin{frame}[b]{First Frame}
\begin{itemize}[<+->]
\item First citation.\sfcite{reese} Recurrent citation.\sfcite{reese}
\item Second citation.\sfcite{springer}
\item Recurrent citation.\sfcite{springer}
\end{itemize}
\end{frame}
\begin{frame}[b]{Second Frame}
\begin{itemize}[<+->]
\item Third citation.\sfcite{glashow}
\item Recurrent citation.\sfcite{reese,springer,glashow}
\end{itemize}
\end{frame}
\begin{frame}{Third frame}
\begin{block}{Block title}
Recurrent citation.\sfcite{reese} New citation.\sfcite{companion}
\end{block}
New citation.\sfcite{bertram}
Recurrent citation.\sfcite{bertram,companion}
\end{frame}
\end{document}
If you are willing to track footnotes manually, a simpler approach is preferable. Add only the following in your preamble:
\makeatletter
\renewcommand\@makefnmark{\hbox{\@textsuperscript{\normalfont[\@thefnmark]}}}
\renewcommand\@makefntext[1]{{\normalfont[\@thefnmark]}\enspace #1}
\makeatother
\DeclareCiteCommand{\footfullcitetext}[\mkbibfootnotetext]
{\usebibmacro{prenote}}
{\usedriver
{\DeclareNameAlias{sortname}{default}}
{\thefield{entrytype}}}
{\multicitedelim}
{\usebibmacro{postnote}}
Then input your frame as
\begin{frame}{A frame}
\begin{block}{Classic theory}
As we already know from classic theory\footnotemark\ ...
\begin{itemize}
\item Fact 1
\item Fact 2
\end{itemize}
\end{block}\footfullcitetext{reese}
Now there are some new developments\footfullcite{bertram} challenging the classic view.
\end{frame}
epstopdf
takes the bounding box of SmatExample.eps
:
%%BoundingBox: 14 14 723 1147
to create the PDF file. The image is moved to (0,0),
and a new media size is calculated:
/MediaBox [0 0 709 1133]
The coordinates of gv
/gsview
/... are based on the EPS version. For the PDF version and viewport
, the coordinates needs to be corrected by subtracting the old origin values of the bounding box. Actually the following example subtracts 13 in both cases:
\documentclass[compress,red,notes]{beamer}
\begin{document}
\frame{\frametitle{}
\begin{columns}
\begin{column}{0.5\textwidth}
\includegraphics[width=\textwidth, viewport=0 717 658 1133, clip]{SmatExample}
\\
\includegraphics[width=\textwidth, viewport=0 426 709 709, clip]{SmatExample}
\end{column}
\begin{column}{0.5\textwidth}
\includegraphics[width=\textwidth, viewport=0 0 709 422, clip]{SmatExample}
\end{column}
\end{columns}
}
\end{document}
\fbox
is helpful for a visual control of the viewports:
\documentclass[compress,red,notes]{beamer}
\begin{document}
\setlength{\fboxsep}{0pt}
\setlength{\fboxrule}{.1pt}
\frame{\frametitle{}
\begin{columns}
\begin{column}{0.5\textwidth}
\fbox{\includegraphics[width=\textwidth, viewport=0 717 658 1133, clip]{SmatExa
\\
\fbox{\includegraphics[width=\textwidth, viewport=0 426 709 709, clip]{SmatExam
\end{column}
\begin{column}{0.5\textwidth}
\fbox{\includegraphics[width=\textwidth, viewport=0 0 709 422, clip]{SmatExampl
\end{column}
\end{columns}
}
\end{document}
Best Answer
You have to process your document once with pdflatex, then once with
biber
and then twice again with pdflatex.With this example (modified from the linked question to use
beamer
):The output is:
Check your versions for
biblatex
and update if necessary. In my system, TeX Live2015, at the moment of this answer: