避免在 Beamer 中跨多個幀的參考中進行幀編號

避免在 Beamer 中跨多個幀的參考中進行幀編號

我正在使用 Beamer 創建一個演示文稿,其中我的參考跨越多個框架。為了讓參考自動拆分為多個幀,我使用了這個allowframebreaks參數。

另外,我不想在幀編號中包含參考幀。因此,我嘗試用兩種不同的方法忽略這些框架:

透過使用來addtocounter減少總幀數

\begin{frame}[plain, allowframebreaks]
    \frametitle{References}
    \bibliographystyle{abbrv}
    {\tiny \bibliography{bibliography}}
    \addtocounter{framenumber}{-1}  % <---- HERE
\end{frame}

透過使用noframenumbering自 v.3.08 起可用) 簡單地忽略框架

\begin{frame}[plain, allowframebreaks, noframenumbering] % <---- HERE
    \frametitle{References}
    \bibliographystyle{abbrv}
    {\tiny \bibliography{bibliography}}
\end{frame}

我面臨的問題是,無論使用哪一種方法,只會忽略第一個參考系。附加訊框(透過使用 自動分割allowframebreaks)始終計入總幀數(使用 進行檢查\inserttotalframenumber)。

我非常感謝任何幫助指出我做錯了什麼的幫助。 :)

答案1

我發現這個線程這與我的問題非常相似,儘管它是關於附錄框架而不是參考書目框架。

在眾多的答案中,這個表示該參數noframenumbering不會被新增的附加幀繼承allowframebreaks,建議在前導碼中加入以下程式碼:

\usepackage{etoolbox}
\makeatletter
\preto{\appendix}{%
  \patchcmd{\beamer@continueautobreak}{\refstepcounter{framenumber}}{}{}{}}
\makeatother

我嘗試做一些類似的事情來滿足我的需要(即更改\appendix\bibliography),但無法成功。出現如下錯誤,表示該\bibliography指令可能與該指令沒有類似的結構\appendix

\bibliography 的參數有一個額外的 } ...reak}{\refstepcounter{framenumber}}{}{}{}}

然而,我嘗試過這個另一個答案建議將這些幀作為備份幀進行處理。首先,它建議在序言中加入以下巨集:

\newcommand{\backupbegin}{
   \newcounter{framenumberappendix}
   \setcounter{framenumberappendix}{\value{framenumber}}
}
\newcommand{\backupend}{
   \addtocounter{framenumberappendix}{-\value{framenumber}}
   \addtocounter{framenumber}{\value{framenumberappendix}} 
}

然後它建議使用這些巨集來包含您不希望影響幀編號的幀的定義。

所以,我這樣定義我的參考系:

\backupbegin
\begin{frame}[plain, allowframebreaks]
    \frametitle{References}
    \bibliographystyle{abbrv}
    {\tiny \bibliography{bibliography}}
\end{frame}
\backupend

這一切都像魅力一樣有效!附加幀不再計入幀編號。 :)

PS:如果有人知道如何使用參考書目的第一個答案的解決方案,那將非常有用。在我看來,這種方法「感覺」比較正確。

答案2

一個框架內有多個選項

解決方案是將其放在序言中: \setbeamertemplate{frametitle continuation}{} 並且僅使用allowframebreaks但不使用noframenumbering

相關內容