使用 beamer 的 ignorenonframetext 选项保持计数器运行

使用 beamer 的 ignorenonframetext 选项保持计数器运行

我尝试将相同的 tex 文件用于我的讲义和我的 beamer。我为所有环境(定理、定义、备注等)使用相同的计数器,以提高可读性。

在我的 beamer 演示中,有些注释没有出现,这意味着我把它们放在了框架环境之外。

因此,beamer 会忽略它们(因为我使用了 ignorenonframetext 选项),从而将计数器在我的讲义和演示文稿之间转移。

有没有办法不显示框架环境之外的文本但保持计数器运行?

这是 MWE

\documentclass[ignorenonframetext]{beamer}
\setbeamertemplate{theorems}[numbered]
\usepackage{default}

\begin{document}

\begin{frame}
    \begin{definition}
      foo
    \end{definition}
\end{frame}

\begin{definition}
  bar
\end{definition}

\begin{frame}
    \begin{definition}
       baz
    \end{definition}
\end{frame}

\end{document}

第二帧显示“定义 2”,而我希望看到“定义 3”。

有什么建议吗?

谢谢 !

答案1

手动解决方法:

\begin{frame} 
    \only<beamer>{\addtocounter{theorem}{1}} 
    \begin{definition}
       baz
    \end{definition}
\end{frame}

或者,如果您考虑放弃该ignorenonframetext选项,则工作流程略有不同:

\documentclass{beamer}
%\documentclass{article}
%\usepackage{beamerarticle}

\setbeamertemplate{theorems}[numbered]
\usepackage{default}

\begin{document}

\begin{frame}
    \begin{definition}
      foo
    \end{definition}
\end{frame}

\begin{onlyenv}<beamer:0>
    \begin{definition}
    bar
    \end{definition}
\end{onlyenv}

\begin{frame}
    \begin{definition}
       baz
    \end{definition}
\end{frame}

\end{document}

相关内容