有没有办法简化以下 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}