如何将 ntheorem 和 beamer 一起使用?

如何将 ntheorem 和 beamer 一起使用?

我想创建一个包含 的演示文稿beamer。我想在其中包含 包ntheorem。当我这样做时,我收到以下错误消息:

 ! LaTeX Error: \begin{altenv} on input line 40 ended by \end{itemize}.

这似乎是一个已知问题,因为我发现了一些相关的问题(这里这里)。但是,我尝试在 MWE 中包含一些解决方案,但它不起作用。似乎这个问题在 TeXLive 2019 中不存在(没有任何保证),因为ntheorem当我重新编译去年使用它制作的演示文稿时,我遇到了问题。

以下是 MWE:

\documentclass{beamer}

    \usepackage[utf8]{inputenc}
    \usepackage[T1]{fontenc}

    \usepackage{amsmath}                    
    \usepackage{amssymb, amscd, amsxtra}
    
        \makeatletter   % Releash command of ntheorem already defined by beamer to avoid conflict
            \let\th@plain\relax 
            \let\openbox\relax 
            \let\proofname\relax 
            \let\proof\relax 
            \let\endproof\relax
        \makeatother    
    \usepackage[amsthm, amsmath, thmmarks, hyperref]{ntheorem}
%       \newtheorem{proposition}{Proposition}
        \newtheorem{defs}{Definition}
    \usepackage[ntheorem]{empheq}

    
    \title{Test}
    \date{\today}
    \author{John Doe}
    \institute{My Institut}


\begin{document}

        \begin{frame}
            \titlepage  
        \end{frame}
        
        \begin{frame}{Animation}
            \begin{itemize}[<+- | alert@+>]
                \item \alert<4>{This is\only<4>{ really} important}
                \item Now this
                \item And now this
            \end{itemize}
        \end{frame}
        
        \begin{frame}{Math}
            \begin{equation}
                e = \lim_{n\to \infty} \left(1 + \frac{1}{n}\right)^n
            \end{equation}
            
            \begin{theorem}[test]
                something
            \end{theorem}
        \end{frame}
        
\end{document}

那么如何解决这个问题并使用ntheorembeamer

答案1

您想关闭的定理定义beamer,或者使用它们代替ntheorem

\documentclass[notheorems,noamsthm]{beamer}
    \usepackage[utf8]{inputenc} % The default since 2018
    \usepackage[T1]{fontenc}

    \usepackage{amsmath}                    
    \usepackage{amssymb, amscd, amsxtra}

    \usepackage[amsthm, amsmath, thmmarks, hyperref]{ntheorem}
      \newtheorem{theorem}{Theorem}
      \newtheorem{proposition}{Proposition}
      \newtheorem{defs}{Definition}
    \usepackage[ntheorem]{empheq}

    
    \title{Test}
    \date{\today}
    \author{John Doe}
    \institute{My Institut}


\begin{document}

        \begin{frame}
            \titlepage  
        \end{frame}
        
        \begin{frame}{Animation}
            \begin{itemize}
                \item \alert<4>{This is\only<4>{ really} important}
                \item Now this
                \item And now this
            \end{itemize}
        \end{frame}
        
        \begin{frame}{Math}
            \begin{equation}
                e = \lim_{n\to \infty} \left(1 + \frac{1}{n}\right)^n
            \end{equation}
            
            \begin{theorem}[test]
                something
            \end{theorem}
        \end{frame}
        
\end{document}

我稍微修改了itemize您使用的命令,以避免与您指定的选项和默认内部主题发生冲突。您可能想修复这个临时解决方案,但这与您的问题无关。

相关内容