Я создаю презентацию с помощью 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
.