В beamer
документации указано:
Режим статьи презентации создается путем указания
article
илиbook
или какого-либо другого класса в качестве класса документа вместоbeamer
и последующей загрузки пакетаbeamerarticle
.Пакет
beamerarticle
определяет практически все команды проектора таким образом, чтобы это было разумно для данного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}
Вместо этого можно было бы ожидать два файла-заглушки, один из которых будет иметь вид
\documentclass{beamer}
% Rest of preamble
\begin{document}
\input{document-body}
\end{document}
и второй
\documentclass{article}
\usepackage{beamerarticle}
% Rest of preamble
\begin{document}
\input{document-body}
\end{document}
Обоснование заключается в том, что в то время каксодержаниеможет быть то же самое,настраиватьдля этих двух случаев это довольно различно.
В конкретном случае \beamerdefaultoverlayspecification
команда действительно не имеет смысла в статье (нет наложений), только в презентации. Таким образом, нет никаких ожиданий встретить команду в «реальной» преамбуле для и, article
следовательно, нет необходимости определять ее.
То же самое вы обнаружите и для ряда других beamer
концепций, которые не применяются к статьям.