简化环境新定理

简化环境新定理

有没有办法简化以下 newtheorem 环境

\newtheorem{definition}[theorem]{Definition}

而不是像下面这样使用它

\begin{definiton}[xxx]
   yyy
\end{definiton}

是否可以按如下方式使用它

\definiton[xxx]{
   yyy
 }

答案1

您可以定义一个在定义环境中包装其参数的命令。

\documentclass{article}
\usepackage{etoolbox}
\newtheorem{theorem}{Theorem}
\newtheorem{definitionenv}[theorem]{Definition}
\NewDocumentCommand{\definition}{o m}{%
    \IfNoValueTF{#1}{%
        \begin{definitionenv}
            #2
        \end{definitionenv}%
    }{%
        \begin{definitionenv}[#1]
            #2
        \end{definitionenv}%
    }%
}
\begin{document}
\begin{definitionenv}
    yyy
\end{definitionenv}

\begin{definitionenv}[xxx]
    yyy
\end{definitionenv}

\definition{
    yyy
}

\definition[xxx]{
    yyy
}
\end{document}

相关内容