cbtheorem 的自定义编号

cbtheorem 的自定义编号

考虑以下代码:

% Equations and theorems style
\counterwithin*{equation}{section}
\counterwithin*{equation}{subsection}
\renewcommand{\theequation}{%
  \thesection.%
  \ifnum\value{subsection}>0 \arabic{subsection}.\fi
  \arabic{equation}%
}
\newtheoremstyle{break}
  {\topsep}{\topsep}%
  {\upshape}{}%
  {\bfseries}{}%
  {\newline}{}%
\theoremstyle{break}
\newtheorem{thm}[equation]{Theorem}
\newtheorem{cor}[equation]{Corollary}

现在,当我创建定理和推论时,它们遵循小节的编号,并且每次创建时,计数器都会增加:

\section{Hey}
\subsection{Hey hey}

\begin{thm}[Theorem]
\end{thm}

\begin{cor}[Corollary]
\end{cor}

\begin{thm}[Theorem]
\end{thm}

现在,我想:

  • 为我的定理着色
  • 保持相同的编号系统
  • 轻松重新格式化我现有的 .tex 文件

为此,我想使用彩色盒子,并创建两个thm, cor将“覆盖”旧环境的环境。我按照提供的链接中的设置进行设置,这是获胜的答案,调用环境thm, cor(参见编辑)。

但效果不太好:

  • 我无法指定 tcolorbox 的编号,该怎么办?
  • 我过去常常将\label{}命令放在我的定理下面,现在这会引发 tcolorbox 错误:\GTS@CdrTwo 的参数有一个额外的}。 \par l.10 \label{a_label}

有人能帮忙并提供解决错误的方法吗?谢谢!


编辑

这里你找到我想要重新格式化的代码的 MWE,并且这里我的尝试。

答案1

最简单的方法是使用\tcolorboxenvironment

\documentclass{article}
\usepackage{amsmath}
\usepackage{amsthm}
\usepackage[many]{tcolorbox}

% Equations and theorems style
\counterwithin*{equation}{section}
\counterwithin*{equation}{subsection}
\renewcommand{\theequation}{%
  \thesection.%
  \ifnum\value{subsection}>0 \arabic{subsection}.\fi
  \arabic{equation}%
}
\newtheoremstyle{break}
  {\topsep}{\topsep}%
  {\upshape}{}%
  {\bfseries}{}%
  {\newline}{}%
\theoremstyle{break}
\newtheorem{thm}[equation]{Theorem}
\newtheorem{cor}[equation]{Corollary}

\tcolorboxenvironment{thm}{colback=red!5!white,colframe=red!75!black}
\tcolorboxenvironment{cor}{colback=red!5!white,colframe=red!75!black}

\begin{document}


\section{Hey}
\subsection{Hey hey}

\begin{thm}[Theorem]
Some text
\end{thm}

\begin{cor}[Corollary]
Some text
\end{cor}

\subsection{Subsection}

\begin{thm}[Theorem]
Some text
\end{thm}

\end{document}

在此处输入图片描述

调整第二个参数中的选项以适合您的喜好。

相关内容