我想改变普通定理风格,以便它使用\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
有用于此目的的宏,但我不确定它位于哪个包中。