如何检查定理风格参数的当前值?

如何检查定理风格参数的当前值?

我想改变普通定理风格,以便它使用\slshape而不是\itshape。我知道我可以通过定义自己的风格,\newtheoremstyle但我不知道如何检查(可能在运行时)风格参数的当前值,所以我只能改变我需要的,其余的不管。

答案1

amsthm.sty你可以在发行版中的某个文件中看到它

\thm@style{plain}
\newtoks\thm@bodyfont  \thm@bodyfont{\itshape}
\newtoks\thm@headfont  \thm@headfont{\bfseries}
\newtoks\thm@notefont  \thm@notefont{}
\newtoks\thm@headpunct \thm@headpunct{.}
\newskip\thm@preskip \newskip\thm@postskip
\def\thm@space@setup{%
  \thm@preskip=\topsep \thm@postskip=\thm@preskip
}

这有点像用户级的排便版本,而且更清晰\newtheoremstyle。我不建议摆弄已经定义的样式,但如果我们从头开始做的话,我们会这样做(虽然没有检查)

\newtheoremstyle{plain}{\topsep}{\topsep}{\itshape}{}{\bfseries}{.}{.5em}{}%

答案2

看来最简单的方法是\def \th@plain {\slshape}或更好:\def \th@slanted {\slshape}然后使用\theoremstyle{slanted}。有/也\theorembodyfont有用于此目的的宏,但我不确定它位于哪个包中。

相关内容