我正在使用 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
。