thmtools - 头部数字样式问题

thmtools - 头部数字样式问题

我正在使用 thmtools 定义自定义示例环境。我将头部样式设为斜体,但数字样式不正确:它以正常模式显示,而不是斜体(数字后的点样式正确)。如果我将头部样式设为粗体,则数字样式正确。是我遗漏了什么还是有错误?

最小工作示例:

\documentclass[11pt,twoside]{article}

\usepackage{amsthm,thmtools}

\declaretheoremstyle[
   name=Example,
   spaceabove=\topsep, spacebelow=\topsep,
   headindent=0pt, postheadspace=1ex,
   headfont=\normalfont\itshape, headpunct=.,
   bodyfont=\normalfont,
   qed=$\diamond$
]{example}
\declaretheorem[style=example]{example}

\begin{document}
\begin{example}
test
\end{example}
\end{document}

答案1

问题是thmtools定义

\def\NUMBER{\bgroup\@upn{##2}\egroup}

\let\@upn=\textup

因此,更改为斜体不会对始终以直立字体排版的数字产生任何影响;覆盖此设置的一种方法(我不确定这是否是一种好的印刷习惯)是使用preheadhook重新定义\@upn

\documentclass[11pt,twoside]{article}

\usepackage{amsthm,thmtools}
\makeatletter
\declaretheoremstyle[
   preheadhook=\renewcommand\@upn{},
   name=Example,
   spaceabove=\topsep, spacebelow=\topsep,
   headindent=0pt, postheadspace=1ex,
   headfont=\itshape,notefont=\itshape, headpunct=.,
   bodyfont=\normalfont,
   qed=$\diamond$
]{example}
\declaretheorem[style=example]{example}
\makeatother

\begin{document}
\begin{example}
test
\end{example}
\end{document}

在此处输入图片描述

相关内容