假设我想转移模板navigation symbols
(例如为了用帧号替换它们,请参阅此错误报告;) 我会遇到有关字体大小/位置的麻烦,这取决于常规/普通框架,如下面的 MCE 所示。
我怎样才能摆脱这些烦恼?
\documentclass{beamer}
\usetheme{PaloAlto}
\setbeamertemplate{navigation symbols}{\insertframenumber/\inserttotalframenumber}
\begin{document}
\begin{frame}
\frametitle{A regular frame}
\end{frame}
\begin{frame}[plain]
\frametitle{A plain frame}
\end{frame}
\end{document}
答案1
问题是,您重新定义的模板中没有设置特殊的字体大小navigation symbols
。因此,将使用之前排版的任何元素的字体大小。通常,脚注线位于前面,但在普通框架上没有脚注线。
作为一种解决方法,您可以明确设置字体大小:
\documentclass{beamer}
\setbeamertemplate{navigation symbols}{\Tiny\insertframenumber/\inserttotalframenumber}
\begin{document}
\begin{frame}
\frametitle{A regular frame}
\end{frame}
\begin{frame}
\frametitle{A plain frame}
\end{frame}
\end{document}
强力解决方案和完全过度杀伤:使用 tikz 并定位相对于页面的页码
\documentclass{beamer}
\usetheme{PaloAlto}
\usepackage{tikz}
\setbeamertemplate{navigation symbols}{%
\begin{tikzpicture}[remember picture, overlay]
\node[xshift=-0.4cm,yshift=0.2cm] at (current page.south east) {\tiny\insertframenumber/\inserttotalframenumber};
\end{tikzpicture}}
\begin{document}
\begin{frame}
\frametitle{A regular frame}
\end{frame}
\begin{frame}[plain]
\frametitle{A plain frame}
\end{frame}
\end{document}