Кадры с библиографией не добавляются в круговую полосу прогресса в 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круговой полосе прогресса?

решение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}{}

Связанный контент