beamer
のドキュメントには次のように規定されています。
プレゼンテーションの記事モードは、の代わりに
article
またはbook
あるいは他のクラスをドキュメント クラスとして指定しbeamer
、パッケージ をロードすることによって作成されますbeamerarticle
。パッケージは
beamerarticle
、モードに適した方法で、beamer のほぼすべてのコマンドを定義しますarticle
。
したがって、の代わりに を使用するだけで、クラスを使用して最初にプレゼンテーション用にarticle
作成された既存のドキュメントのバージョンを事実上作成できることが期待できます。beamer
\documentclass{article}\usepackage{beamerarticle}
\documentclass{beamer}
しかし、残念ながら、次の例が示すように、そうではありません。
% \documentclass{beamer}
\documentclass{article}\usepackage{beamerarticle}
%
\beamerdefaultoverlayspecification{<+->}
%
\begin{document}
\begin{frame}
\begin{itemize}
\item Foo
\item Bar
\end{itemize}
\end{frame}
\end{document}
未定義であるとエラーが発生します\beamerdefaultoverlayspecification
。
はい、このコマンドはモードでのみ使用できますpresentation
:
\mode<presentation>{%
\beamerdefaultoverlayspecification{<+->}%
}
\relax
しかし、なぜそのようなコマンドはによって再定義されないのでしょうかbeamerarticle
?
答え1
beamerarticle
パッケージが必要beamerbasearticle
beamerbasearticle
パッケージが必要beamerbaserequires
beamerbaserequires
パッケージが必要beamerbaseoverlay
- で
beamerbaseoverlay
:\mode<presentation>
259行目に変わります\beamerdefaultoverlayspecification
503行目に定義されています\mode<all>
843行目に戻ります
したがって、私の推測では、\beamerdefaultoverlayspecification
記事モードでは意図的に未定義のままになっていると思われます。
答え2
現在のメンテナーとしてbeamer
、私は過去の設計アプローチについて推測し、問題を記録する具体的な変更を要求します。
私の提案は、単一の「実際の」ソースファイルには両方が含まれないという考えから始める必要があるということです。
\documentclass{beamer}
そして
\usepackage{beamerarticle}
代わりに、2つのスタブファイルが期待されます。1つは次のような形式です。
\documentclass{beamer}
% Rest of preamble
\begin{document}
\input{document-body}
\end{document}
そして2番目
\documentclass{article}
\usepackage{beamerarticle}
% Rest of preamble
\begin{document}
\input{document-body}
\end{document}
その理由は、コンテンツ同じかもしれないが、設定2つのケースはかなり異なります。
の具体的なケースでは\beamerdefaultoverlayspecification
、 コマンドは実際には記事では意味をなさず (オーバーレイはありません)、プレゼンテーションでのみ意味をなします。 そのため、 の「実際の」プリアンブルで コマンドに遭遇することは予想されないため、article
定義する必要はありません。
beamer
冠詞には当てはまらない他の多くの概念についても、同様のことが言えます。