article+beamerarticle нуждается в некоторых корректировках, которых можно было бы избежать

article+beamerarticle нуждается в некоторых корректировках, которых можно было бы избежать

В 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концепций, которые не применяются к статьям.

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