beamer 与 tcolorbox:枚举给出编译错误

beamer 与 tcolorbox:枚举给出编译错误

对于我的海报,我使用beamer带有tcolorbox包的类。

我的问题是使用该enumerate环境会出现以下编译错误:

! Undefined control sequence.
\beamer@enum@ ...fix item}##1}}}}}\beamer@cramped 
                                                  \raggedright \beamer@first...
l.18   }

即使使用以下非常简单的 MWE 也会出现这种情况(上述错误实际上是由此产生的,尽管我的文档的错误消息类似):

\documentclass{beamer}

\usepackage[poster]{tcolorbox}

\begin{document}
\begin{tcbposter}

  \posterbox[]
  {name=part1}{%
    This is a test:
    \begin{enumerate}
    \item Just
    \item a
    \item test.
    \end{enumerate}
  }

\end{tcbposter}
\end{document}

该错误显然来自enumerate环境,因为当我在文档中对其进行注释时,该错误就消失了。

我找不到任何可以解释该问题的东西。

答案1

问题在于enumerate对 done的重新定义beamer。例如,下面的方法有效(但在我看来,这只是一个修复,而不是真正的解决方案):

\let\enumeratebak\enumerate
\let\endenumeratebak\endenumerate
\documentclass{beamer}

\usepackage[poster]{tcolorbox}

\begin{document}
\begin{tcbposter}

  \posterbox[]
  {name=part1}{%
    This is a test:
    \begin{enumeratebak}
    \item Just
    \item a
    \item test.
    \end{enumeratebak}
  }

\end{tcbposter}
\end{document}

解决您的问题的另一个(真正)解决方案是添加缺失的\begin{frame}\end{frame}

\documentclass{beamer}

\usepackage[poster]{tcolorbox}

\begin{document}
\begin{frame}
\begin{tcbposter}

  \posterbox[]
  {name=part1}{%
    This is a test:
    \begin{enumerate}
    \item Just
    \item a
    \item test.
    \end{enumerate}
  }

\end{tcbposter}
\end{frame}
\end{document}

** 编辑 **(看看对当前答案的评论):

我的文件中实际上有两个问题。第一个问题是缺乏frame,正如斯基尔蒙以上。第二个是我的序言中存在\usepackage{enumitem}。这显然会导致enumerate在这样的文档中使用环境时出现另一个错误。

结论:当beamertcolorbox包一起使用该类时,enumerate只有将其放在frame只有按照上述方法没有使用该enumitem包。

相关内容