投影机中的 PDF 页码不正确,且注释在同一页上

投影机中的 PDF 页码不正确,且注释在同一页上

我创建了一个 beamer 演示文稿,我想使用 beamer 选项在同一页上显示注释show notes on second screen=right。禁用此选项后,生成的 PDF 中的页码将与每一帧的帧号匹配​​。但是,当我启用此选项时,生成的 PDF 文档中的页码完全不正确,不再与帧号匹配。我希望此编号匹配,因为如果我愿意,它可以更轻松地在幻灯片之间跳转。

(请注意,我说的不是始终递增的绝对页码,而是可以在 PDF 中手动设置的页码。在下面的屏幕截图(在 Adob​​e Acrobat 中拍摄)中,我说的是页码 5,而不是 10。)

Adobe Acrobat 中的页码。它显示页码 5,然后在括号中显示 19 页中的第 10 页。

我创建了一个 MWE 来展示该问题:

\documentclass{beamer}

\setbeameroption{show notes on second screen=right}

\begin{document}

\frame{\titlepage}

\begin{frame}
    \begin{itemize}
        \item Page number should be \insertframenumber
    \end{itemize}
\end{frame}

\begin{frame}
    \begin{itemize}
        \item Page number should be \insertframenumber
    \end{itemize}
\end{frame}

\begin{frame}
    \begin{itemize}
        \item Page number should be \insertframenumber
    \end{itemize}
\end{frame}

\begin{frame}
    \begin{itemize}
        \item Page number should be \insertframenumber
        \item<2-> Some extra items
        \item<3-> To see whether weird things happen
        \item<3-> When I add overlay specifications in a frame
    \end{itemize}
\end{frame}

\begin{frame}
    \begin{itemize}
        \item Page number should be \insertframenumber
        \item<2-> Some extra items
        \item<3-> To see whether weird things happen
        \item<4-> When I add overlay specifications
        \item<5-> In a frame
    \end{itemize}
\end{frame}

\begin{frame}
    \begin{itemize}
        \item Page number should be \insertframenumber
        \item From this point on, the page numbers even start reversing
    \end{itemize}
\end{frame}

\begin{frame}
    \begin{itemize}
        \item Page number should be \insertframenumber
        \item<2-> But it only gets weirder
    \end{itemize}
\end{frame}

\begin{frame}
    \begin{itemize}
        \item Page number should be \insertframenumber
        \item<2-> But it keeps jumping to 6
        \item<3-> and back
        \item<4-> and back to 6
    \end{itemize}
\end{frame}

\end{document}

MWE 不会加载除 beamer 类之外的任何包,并且它会将注释配置为显示在第二个屏幕上。其余代码只是创建一些框架,有时带有覆盖规范(它很可能被缩短,但我无法找出究竟是什么产生了问题)。

我已经尝试使用以下BeforeBeginEnvironment命令实施修复(在我看来,这是一种黑客行为):etoolbox

\usepackage{etoolbox}
\BeforeBeginEnvironment{frame}{\renewcommand{\thepage}{\insertframenumber}}

虽然这确实会影响 PDF 中生成的页码,但仍然是不正确的。其他etoolbox命令(例如AtBeginEnvironmentAtEndEnvironment和)AfterEndEnvironment似乎没有任何效果。在命令\setcounter{page}{\insertframenumber}中使用{Before/After/At}{Begin/End}Environment也会导致不正确的结果。

下面,我总结了在我的系统上使用各种方法生成的 PDF 页码以及上面给出的 MWE。所有 PDF 文档都是用 生成的pdflatex。我已对方法进行了编号,以使表格易于阅读。

  1. 无注释(正确编号)
  2. 注意,没有额外的命令
  3. 备注,BeforeBeginEnvironment续订\thepage
  4. 注释,BeforeBeginEnvironment设置page计数器
绝对页码 方法 1 方法 2 方法 3 方法 4
1 1 1 1 1
2 2 1 1 1
3 3 2 2 2
4 4 2 2 1
5 5 3 3 3
6 5 3 3 2
7 5 4 4 4
8 6 4 4 3
9 6 5 5 5
10 6 5 5 4
11 6 5 5 5
12 6 6 5 5
十三 7 5 5 5
14 8 7 5 6
15 8 6 6 6
16 9 8 6 5
17 9 6 6 6
18 9 9 6 6
19 9 6 6 6

导致此问题的原因是什么?我该如何修复它,以便我既可以使用注释又可以获得正确的编号?

编辑:我对这种行为做了一些进一步的研究,发现它实际上是由pdfpages用于在beamer框架旁边插入注释页的包引起的。pgfpages文档也对此发出警告:

另一个需要注意的是:使用pgfpages将在文件中产生错误的页码.aux

类似的问题几年前就有人问过,虽然它确实有答案,但遗憾的是,当我在 MWE 中包含该答案中提供的代码时,我无法获得编译后的 PDF。相反,pdflatex似乎进入了一个无限循环,不断产生新的页面。对此答案的评论证实了这种行为。此外,虽然我可能能够理解该问题的答案中发生了什么,但我不知道如何调试遇到的问题,更不用说修复它了。

相关内容