我知道这个问题以前也曾被以类似的方式问过,但我\addtobeamertemplate
还没有看到过一个优雅的解决方案。我使用的是漂亮的metropolis
样式,其中footline
只包含最右上角的幻灯片编号。这在底部留下了很多空白。对于大多数幻灯片来说,这很好,但如果我将数据集的源添加到 中,看起来会有点奇怪footnote
。
我想垂直移动脚注。如果footnote
每张幻灯片只有一个脚注,则可以使用以下代码轻松实现:
\addtobeamertemplate{footnote}{}{\vskip-7mm}
当然,它不适用于同一张幻灯片上的多个脚注,因为每个脚注都添加了负空间footnote
。我认为应该足够简单,只要在添加脚注时footline
使用设置为的全局变量将负空间添加到模板counter
的开头1
,然后0
在幻灯片末尾设置为。然而,令我惊讶的是,以下方法不起作用:
\documentclass{beamer}
\usetheme[outer/progressbar=foot]{metropolis}
\newcount\footinput
\global\footinput 0\relax
\addtobeamertemplate{footnote}{}{\global\footinput 1\relax}
\addtobeamertemplate{footline}{%
\ifnum\footinput>0%
\vskip-7mm%
\global\footinput 0\relax%
\fi%
}{}
\begin{document}
\begin{frame}
\frametitle{Important Findings}
\begin{enumerate}
\item Description of data set 1\footnote{Source of data set 1}
\item Description of data set 2\footnote{Source of data set 2}
\end{enumerate}
\end{frame}
\end{document}
我遗漏了什么?我感到惊讶的原因是,\footnoterule
本质上以相同的方式定义beamerbaseframesize.sty
(使用盒子而不是计数器)。
答案1
这就是你要找的东西吗?
\documentclass{beamer}
\usetheme[outer/progressbar=foot]{metropolis}
\newcount\footinput
\global\footinput 0\relax
\addtobeamertemplate{footnote}{}{\global\footinput 1\relax}
\setbeamertemplate{footline}{\vspace{6.7pt}}
\setbeamertemplate{logo}{%
\usebeamercolor[fg]{footline}%
\usebeamerfont{page number in head/foot}%
\vspace{-7pt}
\usebeamertemplate*{frame numbering}\hspace{5pt}%
}
\begin{document}
\begin{frame}
\frametitle{Important Findings}
\begin{enumerate}
\item Description of data set 1\footnote{Source of data set 1}
\item Description of data set 2%\footnote{Source of data set 2}
\end{enumerate}
\end{frame}
\begin{frame}
\frametitle{Important Findings}
\begin{enumerate}
\item Description of data set 1\footnote{Source of data set 1}
\item Description of data set 2\footnote{Source of data set 2}
\end{enumerate}
\end{frame}
\end{document}