![我可以在没有 amsthm/ntheorem 的情况下禁用定理正文中的斜体吗?](https://linux22.com/image/250921/%E6%88%91%E5%8F%AF%E4%BB%A5%E5%9C%A8%E6%B2%A1%E6%9C%89%20amsthm%2Fntheorem%20%E7%9A%84%E6%83%85%E5%86%B5%E4%B8%8B%E7%A6%81%E7%94%A8%E5%AE%9A%E7%90%86%E6%AD%A3%E6%96%87%E4%B8%AD%E7%9A%84%E6%96%9C%E4%BD%93%E5%90%97%EF%BC%9F.png)
我正在提交一篇论文,需要使用提供的文档类,该类定义了自己的定理环境,因此我不能使用amsthm
或之类的包ntheorem
。该类没有定义“定义”定理环境,因此我定义了自己的定理环境。我试图让正文不采用斜体,就像\theoremstyle{definition}
斜体一样。有办法吗?
答案1
\normalfont
可以在开始时使用以下方式进行临时重新设计definition
:
\documentclass{article}
\newtheorem{definition}{Definition}
\begin{document}
\begin{definition}
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Sed eu eros dignissim mi ultricies varius in ac purus.
Mauris et massa turpis. Aenean egestas fringilla odio,
in placerat leo vestibulum non.
\end{definition}
\begin{definition}
\normalfont Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Sed eu eros dignissim mi ultricies varius in ac purus.
Mauris et massa turpis. Aenean egestas fringilla odio,
in placerat leo vestibulum non.
\end{definition}
\end{document}
上述解决方案适用于不允许包含其他软件包的期刊。如果他们不介意并且你的definition
定理环境定义非常简单,你可以使用类似这样的方法:
\newtheorem{definition}{Definition}
\let\olddefinition\definition
\renewcommand{\definition}{\olddefinition\normalfont}
修改环境的启动总是使用\normalfont
。这将对定理环境进行全局更改。当然,您首先definition
不需要使用定理样式来创建环境。但是,如果没有太多关于上下文和用途的知识,很难推测您希望它看起来是什么样子。definition
上述重新定义不允许使用definition
环境的可选参数。如果需要,可以使用
\newtheorem{definition}{Definition}
\usepackage{xparse}
\let\olddefinition\definition
\RenewDocumentCommand{\definition}{o}{%
\IfNoValueTF{#1}
{\olddefinition}
{\olddefinition[#1]}%
\normalfont
}
相反。上面使用xparse
在插入覆盖之前,捕获并检查可选参数的可能性,如果存在则使用它\normalfont
。