答案1
定理标题的可选元素被指定为\thmnote
,但它并未在 中定义amsthm
为独立元素。它在两处展开,一处用于定理标题,其数字跟在主标题词后面,另一处(如您所见)与使用 的节标题一样将数字“交换” \swapnumbers
。
产生所需样式的最简单方法(全部粗体、标题词后有一个冒号并且没有括号)可能是重新定义标题交换形式的内部命令:
\makeatletter
\renewcommand{\swappedhead}[3]{%
\thmnumber{\@upn{\@secnumfont#2\@ifnotempty{#1}{.~}}}%
\thmname{#1}%
\thmnote{: #3}}
% \thmnote{ {\the\thm@notefont(#3)}}}
\makeatother
我保留了原始定义并\thmnote
进行了注释,以便您可以看到如何应用间距的变化。\thm@notefont
由于默认字体没有改变,因此省略了和用于隔离其调用的额外括号。
有时会要求进行此类更改,因此,我将把这视为正式请求,以考虑在对软件包进行彻底检查时(也许是明年年底)更容易地改变可选元素的样式。
答案2
另一种选择是不涉及重新定义内部命令,可以使用thm工具包作为前端amsthm
:
\documentclass{article}
\usepackage{amsthm}
\usepackage{thmtools}
\declaretheoremstyle[
notefont=\bfseries, notebraces={}{},
bodyfont=\normalfont\itshape,
headformat=\NUMBER~\NAME:\NOTE
]{nopar}
\declaretheorem[style=nopar]{theorem}
\begin{document}
\begin{theorem}[FTA]
Every non-constant single-variable polynomial with complex coefficients has at least one complex root.
\end{theorem}
\end{document}
答案3
\patchcmd
这是使用该包的宏的版本etoolbox
。它包含用于重置“普通”(定理数)和“交换”(数定理)定理样式的代码。
\documentclass{article}
\usepackage{etoolbox,amsthm}
\makeatletter
% case 1: theorem name--number ("ordinary") style
\patchcmd{\thmhead@plain}%
{\thmnote{ {\the\thm@notefont(#3)}}}% original form
{\thmnote{: #3}}% new form
{}{}
\let\thmhead\thmhead@plain
% case 2: number--theorem name ("swapped") style
\patchcmd{\swappedhead}%
{\thmnote{ {\the\thm@notefont(#3)}}}% original form
{\thmnote{: #3}}% new form
{}{}
\let\swappedhead@plain=\swappedhead
\makeatother
\swapnumbers % switch to "swapped" style for this MWE
\newtheorem{thm}{Theorem}
\begin{document}
\begin{thm}[Pythagoras] $a^2+b^2=c^2.$ \end{thm}
\end{document}