Beamer で複数のフレームにまたがる参照のフレーム番号付けを避ける

Beamer で複数のフレームにまたがる参照のフレーム番号付けを避ける

Beamer を使用してプレゼンテーションを作成していますが、参照が複数のフレームにまたがっています。参照を複数のフレームに自動的に分割するために、パラメータを使用しましたallowframebreaks

また、フレーム番号に参照フレームを含めたくありません。そのため、次の 2 つの異なる方法でそれらのフレームを無視しようとしました。

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

そして、すべてうまくいきました! 追加のフレームはフレーム番号に考慮されなくなりました。:)

追記: 参考文献に言及した最初の回答の解決策の使い方を知っている人がいたら、とても助かります。そのアプローチの方が「正しい」ように私には思えます。

答え2

見るフレーム内に複数のオプションがある

解決策としては、これをプリアンブルに追加し、 \setbeamertemplate{frametitle continuation}{} のみを使用しallowframebreaks、 は使用しないことですnoframenumbering

関連情報