我希望有一个开关可以检测我是将文件编译为 Beamer 演示文稿还是文章,调整两个类的特定命令,但单个页面/幻灯片的内容相同。不幸的是,以下代码不适用于 Beamer。
%\documentclass{article}
\documentclass{beamer}
\usepackage{ifthen}
\newif\ifbeamer
\beamertrue
\begin{document}
\ifbeamer
\begin{frame}
\else % article
\newpage
\fi
% common code for both beamer and article
blah blah
\ifbeamer
\end{frame}
\fi
\end{document}
看来 beamer 只接受在单个“if”语句中包含 \begin{frame} 和 \end{frame}。我该如何处理这个限制?
答案1
您可以使用该beamerarticle
包并根据当前模式调整框架环境:
\documentclass{article}
%\documentclass{beamer}
\usepackage{beamerarticle}
\mode<article>{
\AtBeginEnvironment{frame}{\newpage}
}
\begin{document}
\begin{frame}
% common code for both beamer and article
blah blah
\end{frame}
\begin{frame}
% common code for both beamer and article
blah blah
\end{frame}
\end{document}