![投影机中的帧号作为多个图形](https://linux22.com/image/394021/%E6%8A%95%E5%BD%B1%E6%9C%BA%E4%B8%AD%E7%9A%84%E5%B8%A7%E5%8F%B7%E4%BD%9C%E4%B8%BA%E5%A4%9A%E4%B8%AA%E5%9B%BE%E5%BD%A2.png)
在使用 制作的演示文稿中,beamer
我想在右下角放置多个小图形(复活节彩蛋、鸭子……),图形数量与当前帧号相对应。如果使用叠加将帧分成几张幻灯片,则所有幻灯片都具有相同的帧号,因此图形数量也应相同。导航符号不应可见。此外,如果可能的话,我希望能够通过指定最大行长(整数)将图形堆叠成行,之后在旧行上方填充新行。有什么方法可以实现吗?
这是一种 MWE,包含我通常用于演示的包,以便检查兼容性。
\documentclass[ngerman,10pt]{beamer}
\mode<presentation>
{ \usetheme{Boadilla}
\setbeamercovered{transparent}
}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{microtype}
\usepackage{babel}
\usepackage{csquotes}
\usepackage{amsmath}
\usepackage{siunitx}
\usepackage{chemformula}
\beamertemplatenavigationsymbolsempty
\title{Easter Ducks}
\author{Prof.\ van Duck}
\date{\today}
\institute{Duck University}
\begin{document}
\begin{frame}{Frame 1}
\only<1>{Text 1}
\only<2->{Text 2}
\end{frame}
\begin{frame}{Frame 2}
\ch{SO2} \pause \\
\SI{5.3}{\kJ\per\mol}
\end{frame}
\end{document}
答案1
当然。你可能想放一只产卵的生物来代替鸡蛋。
\documentclass{beamer}
\usepackage{tikzducks}
\addtobeamertemplate{navigation symbols}{}{% https://tex.stackexchange.com/a/137028/121799
\usebeamerfont{footline}%
\usebeamercolor[fg]{footline}%
\hspace{1em}%
\foreach \X in {1,...,\number\value{page}}
{\tikz[scale=0.12]{\duck}}
}
\begin{document}
\begin{frame}[t]
\frametitle{First}
\end{frame}
\begin{frame}[t]
\frametitle{Second}
\end{frame}
\begin{frame}[t]
\frametitle{Third}
\end{frame}
\end{document}
当然你也可以用 来\includegraphics{...}
代替\tikz{\duck}
。
这是更新问题的一个版本。但是,它不会堆积符号,因为没有足够的垂直空间(而且在加载不相关的包时,你非常慷慨,因此编译时间不必要地长,这使我无法玩许多可能有意义的堆积的幻灯片)。
\documentclass[ngerman,10pt]{beamer}
\mode<presentation>
{ \usetheme{Boadilla}
\setbeamercovered{transparent}
}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{microtype}
\usepackage{babel}
\usepackage{csquotes}
\usepackage{amsmath}
\usepackage{siunitx}
\usepackage{chemformula}
\usepackage{tikzducks}
\beamertemplatenavigationsymbolsempty
\let\oldinsertframenumber\insertframenumber
\newcommand{\insertpagesymbols}[3][]{%
\foreach \XX in {1,...,\inserttotalframenumber}%
{\ifnum\XX<\numexpr\inserttotalframenumber-\number\value{framenumber}+1\relax%
#3%
\else%
#2%
\fi}}
\newsavebox\Duck
\sbox\Duck{\tikz[scale=0.1]{\duck}}
\newsavebox\InvDuck
\sbox\InvDuck{\tikz[scale=0.1,opacity=0.1]{\duck}}
\def\insertframenumber{\insertpagesymbols{\usebox\Duck}{\usebox\InvDuck}%
%\oldinsertframenumber
}
\title{Easter Ducks}
\author{Prof.\ van Duck}
\date{\today}
\institute{Duck University}
\begin{document}
\begin{frame}{Frame 1}
\only<1>{Text 1}
\only<2->{Text 2}
\end{frame}
\begin{frame}{Frame 2}
\ch{SO2} \pause \\
\SI{5.3}{\kJ\per\mol}
\end{frame}
\begin{frame}{Another test}
Happy \pause \\
Easter!
\end{frame}
\end{document}