带有参考书目的框架不会添加到 smoothbars 中的圆形进度条中

带有参考书目的框架不会添加到 smoothbars 中的圆形进度条中

我正在使用Warsaw主题和smoothbars外部主题。

我在演示文稿末尾添加了一个参考书目条目,用于列出出版物。但是,这些幻灯片没有添加到圆形进度条(这有技术名称吗?)中smoothbars

检查Beamer 导航圈没有子部分吗?问题我以为添加一些子部分会起作用,但那没有用。似乎如果框架包含\printbibliography(我猜是任何参考书目),那么该框架就会从进度条中跳过。另外,我不确定这是否与此有关漏洞

检查以下示例。第一个框架通过添加子部分出现。第二个子部分中包含子部分的框架也会出现,但包含参考书目的框架除外。

\documentclass{beamer}

\begin{filecontents}{\jobname.bib}
@Book{test1,
  author    = {Goossens, Michel and Mittelbach,
               Frank and Samarin, Alexander},
  title     = {The LaTeX Companion},
  publisher = {Addison-Wesley},
  location  = {Reading, Mass.},
  year      = {1994},
}
\end{filecontents}

\useoutertheme[subsection=false]{smoothbars}
\usepackage{biblatex}
\bibliography{\jobname}


\begin{document}
\section{Section}
\subsection{Subsection}
\begin{frame}{test}
content...
\end{frame}

\section{Publications}
\subsection{Subsection}
\begin{frame}{in nav}
this frame is in navigation bar
\end{frame}

\subsection{References}
\begin{frame}
\nocite{*}
\printbibliography[heading=subbibliography]
\end{frame}

\subsection{Subsection}
\begin{frame}{in nav}
this frame is also in navigation bar, but the previous one isn't
\end{frame}

\end{document}

那么,我怎样才能让带有参考书目的幻灯片出现在smoothbars/circle 进度条中呢?

答案1

简短的解决方案:使用

\printbibliography[heading=none]

解释

biblatex-部分

biblatex测试加载了哪个文档类。该类beamer不是有效选项,因此abx@classtype使用默认设置。通过这些设置,该选项heading=subbibliography代表以下定义:

\defbibheading{subbibliography}[\refname]{%
  \subsection*{#1}}

定义在文件中完成biblatex.def。需要注意的是,\subsection使用的是带星号的版本。

beamer-部分

beamer构造命令时\subsection,应将其放置在环境之外frame。如果将此类命令放在其中,frame则会产生不必要的副作用。对于您的情况,该命令\subsection*将删除 中的条目smoothbar

一个简单的例子可以说明这一点:

\documentclass{beamer}
\useoutertheme[subsection=false]{smoothbars}
\begin{document}
\section{Section}
\subsection*{Subsection}
\begin{frame}{test}
content...a
\end{frame}

\begin{frame}{test}
\subsection*{Subsection b}
content...b
\end{frame}
\end{document}

根据上面的解释,您必须删除\subsection*由 完成的heading=subbibliography。最简单的方法是使用heading=none定义如下:

\defbibheading{none}{}

相关内容