定义了新定理 (amsthm) 和新环境 (Environ)。如果我在环境中使用定理,文档将无法编译。我该如何解决这个问题?

定义了新定理 (amsthm) 和新环境 (Environ)。如果我在环境中使用定理,文档将无法编译。我该如何解决这个问题?

正如标题所说,我定义了一个新定理(example)和一个新环境(revision)。它们都工作正常,但如果我在环境中使用该定理,我会收到以下错误(直接从 vim 中的 quickfix 列表复制):

test.tex|27 error| LaTeX Error: \begin{example} on input line 27 ended by \end{revision}.
test.tex|27 error| Undefined control sequence.
test.tex|27 error| Undefined control sequence.
test.tex|29 error| LaTeX Error: \begin{revision} on input line 20 ended by \end{document}.
test.tex|29 error| Improper \prevdepth.
test.tex|29 error| Missing } inserted.
test.tex|29 error| Missing } inserted.

以下是 MWE:

\documentclass{article}

\usepackage{ulem}
\usepackage{amsthm}
\usepackage{environ}

\title{Title}
\author{}
\date{}


\newtheorem{example}{}

\NewEnviron{revision}{\expandafter\uline\expandafter{\BODY}}


\begin{document}

\begin{revision}

    \begin{example}
    some example text
    \end{example}


\end{revision}

\end{document}

我将原始内容包含{\expandafter\uline\expandafter{\BODY}}revision环境中,因为如果我尝试使用最少的内容来做一个最小示例,那么文档会成功编译而不会出现错误,但生成的 PDF 只是带有页码的单页(示例代码如下)。但这不是我的问题的 MWE,因为在我的问题中我确实有上述错误。

\documentclass{article}

\usepackage{ulem}
\usepackage{amsthm}
\usepackage{environ}

\title{Title}
\author{}
\date{}


\newtheorem{example}{}

\NewEnviron{revision}{}


\begin{document}

\begin{revision}

    \begin{example}
    some example text
    \end{example}


\end{revision}

\end{document}

我真的不知道从哪里开始解决这个问题,如能得到任何帮助我将不胜感激!

相关内容