投影仪中一页中有多个帧的帧编号

投影仪中一页中有多个帧的帧编号

我正在制作一个beamer演示文稿,其中我使用以下方式对帧进行编号

\addtobeamertemplate{navigation symbols}{}{%
    \usebeamerfont{footline}%
   \usebeamercolor[fg]{footline}%
  \hspace{1em}%
 \insertframenumber/\inserttotalframenumber
}

现在我想要一个每页有 4 帧的可打印版本,所以我使用了循环空间对此的回复问题。但是,当帧数超过 4 时,合并会产生问题。对于我当前的 8 帧幻灯片,帧编号为:1/4、2/4、...、8/4。我该如何解决这个问题(即,帧编号如下:1/8、2/8、...、8/8)?

平均能量损失

\documentclass[10pt, a4paper, english, aspectratio=169,handout]{beamer}

\mode<handout>
{
  \usepackage{pgf}
  \usepackage{pgfpages}

\pgfpagesdeclarelayout{4 on 1 boxed}
{
  \edef\pgfpageoptionheight{\the\paperheight} 
  \edef\pgfpageoptionwidth{\the\paperwidth}
  \edef\pgfpageoptionborder{0pt}
}
{
  \pgfpagesphysicalpageoptions
  {%
    logical pages=4,%
    physical height=\pgfpageoptionheight,%
    physical width=\pgfpageoptionwidth%
  }
  \pgfpageslogicalpageoptions{1}
  {%
    border code=\pgfsetlinewidth{2pt}\pgfstroke,%
    border shrink=\pgfpageoptionborder,%
    resized width=.5\pgfphysicalwidth,%
    resized height=.5\pgfphysicalheight,%
    center=\pgfpoint{.25\pgfphysicalwidth}{.75\pgfphysicalheight}%
  }%
  \pgfpageslogicalpageoptions{2}
  {%
    border code=\pgfsetlinewidth{2pt}\pgfstroke,%
    border shrink=\pgfpageoptionborder,%
    resized width=.5\pgfphysicalwidth,%
    resized height=.5\pgfphysicalheight,%
    center=\pgfpoint{.75\pgfphysicalwidth}{.75\pgfphysicalheight}%
  }%
  \pgfpageslogicalpageoptions{3}
  {%
    border code=\pgfsetlinewidth{2pt}\pgfstroke,%
    border shrink=\pgfpageoptionborder,%
    resized width=.5\pgfphysicalwidth,%
    resized height=.5\pgfphysicalheight,%
    center=\pgfpoint{.25\pgfphysicalwidth}{.25\pgfphysicalheight}%
  }%
  \pgfpageslogicalpageoptions{4}
  {%
    border code=\pgfsetlinewidth{2pt}\pgfstroke,%
    border shrink=\pgfpageoptionborder,%
    resized width=.5\pgfphysicalwidth,%
    resized height=.5\pgfphysicalheight,%
    center=\pgfpoint{.75\pgfphysicalwidth}{.25\pgfphysicalheight}%
  }%
}


  \pgfpagesuselayout{4 on 1 boxed}[a4paper, border shrink=5mm, landscape]
  \nofiles
}


\addtobeamertemplate{navigation symbols}{}{%
    \usebeamerfont{footline}%
   \usebeamercolor[fg]{footline}%
  \hspace{1em}%
 \insertframenumber/\inserttotalframenumber
}

\setbeamercolor{footline}{fg=black}
\setbeamerfont{footline}{series=\bfseries}

\begin{document}
\begin{frame}
Frame 1
\end{frame}
\begin{frame}
Frame 2
\end{frame}
\begin{frame}
Frame 3
\end{frame}
\begin{frame}
Frame 4
\end{frame}

\begin{frame}
Frame 5
\end{frame}
\begin{frame}
Frame 6
\end{frame}
\begin{frame}
Frame 7
\end{frame}
\begin{frame}
Frame 8
\end{frame}
\end{document}

答案1

“黑魔法”方法所做的就是利用\nofiles宏来防止文件被修改.aux

如果我们注释掉

%\pgfpagesuselayout{4 on 1 boxed}[a4paper, border shrink=5mm, landscape]
%\nofiles

我们得到了一个 1 页 1 帧的文档,页码正确。现在查看 .aux 文件(最后一行),我们得到:

\@writefile{nav}{\headcommand {\def \inserttotalframenumber {8}}} % 8 is the number we want for the total frame count

这是正确的值,因为现在是按一一计算页面的。

此时我们取消上面两行的注释:

 \pgfpagesuselayout{4 on 1 boxed}[a4paper, border shrink=5mm, landscape]
 \nofiles

\nofiles将确保.aux文件不被修改,以便它保持正确的总数。

当然,一旦我们添加另一个框架/页面,黑魔法就会失败,因此必须在文档完成时使用魔法,否则就会发生不好的事情(他们是这么说的......)。

在此处输入图片描述

相关内容