忽略 \pause 但僅在投影機中計算幻燈片編號

忽略 \pause 但僅在投影機中計算幻燈片編號

Beamer 顯示過多的頁碼,因為它將每個 \pause 命令視為額外頁面,從技術上講,它位於 PDF 中,但邏輯上並非如此。

回答類似的問題,我嘗試過 \setbeamertemplate{footline}[frame number]{},但是這引入了相反的問題,\only即僅使用該命令對頁面進行一次計數,即使這些在邏輯上是多張幻燈片。

在計算腳線中的頁數/幀數時,有沒有辦法只忽略\pause但仍然遵循?\only

例子

\documentclass{beamer}
\usepackage[utf8x]{inputenc}
\setbeamertemplate{navigation symbols}{}
\setbeamertemplate{footline}[frame number]

\begin{document}

\begin{frame}{Slide with Pause}                                                                                                                               
This should all be slide one.\\
One\pause{} Two\pause{} Three
\end{frame}

\begin{frame}{Slide with Only}
\only<1>{This should be page 2.}
\only<2>{This should be page 3.}
\end{frame}

\end{document}

如果我使用“頁碼”,我會得到 5 頁。如果我使用“幀號”,我會得到 2 頁。不過我想要 3 頁。

答案1

顯而易見的解決方案:說實話

\begin{frame}{Slide without Only}
This should be page 2.
\end{frame}

\begin{frame}{Slide without Only}
This should be page 3.
\end{frame}

完整的mwe:

\documentclass{beamer}
\usepackage{ulem}
\setbeamertemplate{navigation symbols}{}
\setbeamertemplate{footline}[frame number]
\begin{document}
\begin{frame}{Slide with Pause}
This should all be \sout{slide} frame \insertframenumber.\\
(page \insertpagenumber,  slide \insertslidenumber)\par\pause
(page \insertpagenumber,  slide \insertslidenumber)\par\pause
\end{frame}

\begin{frame}{Slide without Only}
This is the \sout{slide} frame \insertframenumber.
(page \insertpagenumber,  slide \insertslidenumber)
\end{frame}

\begin{frame}{Slide without Only}
This is \sout{slide} frame \insertframenumber.
(page \insertpagenumber,  slide \insertslidenumber)
\end{frame}
\end{document}

不必要的複雜解決方案:隱藏和撒謊

\begin{frame}{Slide with Only}
\only<1>{This should be page 2.}
\only<2>{\addtocounter{framenumber}{1}This should be page 3.}
\end{frame}

完整的mwe:

\documentclass{beamer}
\usepackage{ulem}
\setbeamertemplate{navigation symbols}{}
\setbeamertemplate{footline}[frame number]
\begin{document}
\begin{frame}{Slide with Pause}
This should all be \sout{slide} frame \insertframenumber.\\
(page \insertpagenumber,  slide \insertslidenumber)\par\pause
(page \insertpagenumber,  slide \insertslidenumber)\par\pause
\end{frame}

\begin{frame}{Slide with Only}
\only<1>{This should be \sout{slide} frame \insertframenumber. 
(but page in \insertpagenumber,  slide \insertslidenumber)}
\only<2>{\addtocounter{framenumber}{1}This should be \sout{slide} frame \insertframenumber.
(but page in \insertpagenumber,  slide \insertslidenumber)}
\end{frame}
    
\end{document}

相關內容