我怎样才能使用 tcolorbox 将推论编号为定理的子项,而后者是节的子项?

我怎样才能使用 tcolorbox 将推论编号为定理的子项,而后者是节的子项?

我想要的结果如下:

1 节

定理 1.1

推论1.1.1

命题 1.2

推论1.2.1

...

像以前一样,使用 amsthm 可以轻松实现这一点。但是,我现在想将 tcolorbox 用于我的新笔记,但我找不到允许我在标题中输入三个数字的命令。我四处搜索,以下是我得到的最好的结果:

\documentclass{report}
\usepackage[most]{tcolorbox}

\usepackage{chngcntr}\counterwithout{section}{chapter}

\newcounter{theo}
\newtcbtheorem[number within=section]{theorem}{Theorem}{before title={\stepcounter{theo}}}{th}
\newtcbtheorem[number within=theo]{corollary}{Corollary}{}{cor}

\begin{document}
\section{testSection}
\begin{theorem}{testTitle}{}
test theorem
\end{theorem}
\begin{corollary}{testTitle}{}
test corollary
\end{corollary}
\end{document}

在此处输入图片描述

在此先感谢您的帮助。

答案1

内部计数器名称有前缀(查看用户手册中的tcb@cnt@密钥示例),因此/tcb/new/auto countertcolorbox

\newtcbtheorem[number within=section]{theorem}{Theorem}{<options>}{th}

环境theorem将使用计数器tcb@cnt@theorem。因此你需要的是

\newtcbtheorem[number within=tcb@cnt@theorem]{corollary}{Corollary}{}{cor}

完整示例

\documentclass{report}
\usepackage[most]{tcolorbox}

\usepackage{chngcntr}\counterwithout{section}{chapter}

\newtcbtheorem[number within=section]{theorem}{Theorem}{}{th}
\newtcbtheorem[number within=tcb@cnt@theorem]{corollary}{Corollary}{}{cor}

\begin{document}
\section{testSection}
\begin{theorem}{testTitle}{}
test theorem
\end{theorem}

\begin{corollary}{testTitle}{}
test corollary
\end{corollary}
\end{document}

在此处输入图片描述

相关内容