额外的},或者忘记了 \endgroup 模式规范和 exampleblock 或 alertblock

额外的},或者忘记了 \endgroup 模式规范和 exampleblock 或 alertblock

以下代码会报错

\documentclass{beamer}
\begin{document}
\begin{frame}
\mode
<presentation>
some text

\mode
<article>

\begin{exampleblock}{Exemple}
tttttt
\end{exampleblock}

\mode
<all>


\end{frame}
\end{document}

它似乎与 有关系exampleblock:如果我将其替换为block,则不会出现错误。但由于规范\mode,beamer 在读取该行时应该处于吞噬状态。另外,如果我删除规范\mode,也不会出现错误。

我怀疑这是 beamer 的一个 bug。我刚刚通过 tlmgr 升级到最新版本:这种情况仍然会发生。

不过,也许我做错了什么?

如果这确实是一个错误,我该如何解决它直到它被纠正?

(有人可能想知道为什么我在文章模式中使用块;这是因为我无法在演示文稿中展示一系列示例,但我仍然希望在 beamerarticle 版本中拥有它们全部,并且我希望在那里保持外观的一致性)

答案1

该解决方案需要格式和系统修改。

首先,\mode, 后面应该跟着所需的模式,<presentation>或者<article>,然后紧接着 里面的文本{}

这正是您收到“额外} 或忘记的 \endgroup”错误的原因。

当 beamer 排版你的文本时,它总是处于以下五种模式之一:

  • beamer是默认模式。
  • second是排版可选第二个屏幕的幻灯片时使用的模式。
  • handout是创建讲义的模式。
  • trans是创建透明胶片的模式。
  • article是当控制权已转移到另一个类(如 article.cls)时的模式。请注意,如果控制权已转移到 book.cls,则模式也是 article。

除了这些模式之外,beamer 还可以识别以下模式集名称:

  • all指所有模式。
  • presentation指前四种模式,即除冠词模式之外的所有模式。

这是工作代码。

\documentclass{beamer}

\begin{document}
\begin{frame}
\mode<presentation>{some text}

\mode<article>{
\begin{exampleblock}{Exemple}
  tttttt
\end{exampleblock}}

 \mode<all>{\begin{exampleblock}{Exemple}
  tttttt
 \end{exampleblock}}

\mode<all>{Some text for example purposes}
\end{frame}
\end{document}

结果是

在此处输入图片描述

相关内容