Избегайте нумерации кадров в ссылках, которые охватывают более одного кадра в Beamer.

Избегайте нумерации кадров в ссылках, которые охватывают более одного кадра в Beamer.

Я создаю презентацию с помощью Beamer, в которой мои ссылки охватывают более одного кадра. Чтобы ссылки автоматически разделялись на несколько кадров, я использовал параметр allowframebreaks.

Также я не хочу включать опорные кадры в нумерацию кадров. Поэтому я попытался игнорировать эти кадры двумя разными способами:

Используя addtocounterдля уменьшения общего количества кадров

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

Используя noframenumbering(доступно с версии 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.

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