ntheorem 和坏盒子解决方案的问题;涉及 \newtheoremstyle

ntheorem 和坏盒子解决方案的问题;涉及 \newtheoremstyle

我正在使用该ntheorem包来显示示例/定义等的结束标记。问题是,当定理等的标题太长时,它会产生很多坏框。我找到了一个解决方案由 ntheorem 字幕制作的 overfull-hbox,即在前导码位中定义以下内容:

\makeatletter
\newtheoremstyle{Myplain}%
{\item[\hskip\labelsep \theorem@headerfont ##1\ ##2\theorem@separator]}%
{\item[\hskip\labelsep \theorem@headerfont ##1\ ##2]\theorem@headerfont (##3)\theorem@separator\newline\normalfont\itshape}
\newtheoremstyle{nonumberMyplain}%
{\item[\theorem@headerfont\hskip\labelsep ##1\theorem@separator]}%
{\item[\theorem@headerfont\hskip \labelsep ##1]\theorem@headerfont (##3)\theorem@separator\newline\normalfont}
\makeatother

\theoremstyle{Myplain}
\theoremsymbol{$\bigcirc$}
\newtheorem{example}{Example}

我使用它来:

\begin{defn}[Definition of function]This is a definition of $f(x) = p_i(x^2)$.
\end{defn}

在我的文档中得到这个:

在此处输入图片描述

我不想让数学内容变成粗体和斜体。如果我删除定义的标签/标题(函数定义),问题就解决了。我该如何更改它,以便即使带有标签也能看起来正常?我知道我必须弄乱后面的东西,\makeatletter但我不明白。请有人帮忙 :(

答案1

由于某种原因,当可选参数被排版时,声明\boldmath有效(这可能取决于 ntheorem 中的设置)。解决方案:

\makeatletter
\newtheoremstyle{Myplain}%
{\item[\hskip\labelsep \theorem@headerfont ##1\ ##2\theorem@separator]\normalfont}%
{\item[\hskip\labelsep \theorem@headerfont ##1\ ##2]{\theorem@headerfont (##3)}\theorem@separator\newline\normalfont}
\newtheoremstyle{nonumberMyplain}%
{\item[\theorem@headerfont\hskip\labelsep ##1\theorem@separator]\normalfont}%
{\item[\theorem@headerfont\hskip \labelsep ##1]{\theorem@headerfont (##3)}\theorem@separator\newline\normalfont}
\makeatother

相关内容