LaTeX Overleaf 告诉我这\newcommand{theorem}{Theorem}[\fcolorbox{blue}{orange}{subsection}]
是一个错误。为什么?我的目标是:
...定理 章节.部分.小节,其中 chapter.section.subsection 用橙色突出显示,并带有蓝色框架。我该怎么办?非常感谢
第一次编辑:我已经实施了你的建议 --- 谢谢你的回答 --- 但我并没有得到我想要的。我知道这个thm工具-package。它能帮助我吗?再次感谢你。
答案1
原因是末尾的可选参数\newtheorem
是您要在其中编号的计数器的名称。不多也不少。(另外,我假设您的意思是说\newtheorem
而不是\newcommand
。)
有几种方法可以得到你想要的结果。一种方法是将格式合并到\thetheorem
负责打印定理数的定义中。这看起来像:
\newtheorem{theorem}{Theorem}[subsection]
\RenewExpandableDocumentCommand{\thetheorem}{}
{\fcolorbox{blue}{orange}{\thesubsection.\arabic{theorem}}
当然,如果您使用\ref
(或\cref
) 通过标签引用定理数字,这将导致定理数字被框起来并着色。我现在没有安装 LaTeX 的计算机,无法使用必要的魔法来\p@theorem
清除\fcolorbox{blue}{orange}
参考文献中的 。
另一种方法是加载amsthm
包,然后声明一个具有所需格式的新定理样式。完整文档可在 中找到texdoc amsthm
,同样,这未经测试,但您应该能够执行以下操作:
\newtheoremstyle{colorednum}
{}{} % Use default spacing before and after
{\itshape}{} % No indent and italic body (again the default settings)
{\bfseries}{.} % Print "Theorem 1.3.1" in bold with a period after
{ } % default space after theorem head
{\thname{#1}\thnumber{ \fcolorbox{blue}{orange}{#2}\thnmote{ (#3)}}
\theoremstyle{colorednum}
\newtheorem{theorem}{Theorem}[subsection]
之前的最后一行\theoremstyle
指定了定理编号应该包含在\fcolorbox
指定的范围内。