脚注的条件格式,取决于是否存在脚注

脚注的条件格式,取决于是否存在脚注

我知道这个问题以前也曾被以类似的方式问过,但我\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}

投影仪脚线

相关内容