带有 tcolorbox 的环境,参考

带有 tcolorbox 的环境,参考

我写了一本很长的教科书,我想在不改变正文太多的情况下,在定理、引理等周围添加彩色框。目前,每个定理环境都以通常的方式定义,例如,

\theoremstyle{plain}
\newtheorem{theorem}{Theorem}[section]
\newtheorem{proposition}[theorem]{Proposition}
\newtheorem*{proposition*}{Proposition}

要添加颜色框,我当然可以使用 tcolorbox,如下所示这个答案。我的问题是 tcolorbox 的定理定义如下

\begin{theorem}{theorem name}{reference}

而我的 1000 页教科书使用

\begin{theorem}{theorem name}\label{reference}

我的问题是:

有什么办法可以解决这个问题吗?例如,重新定义定理环境,以便我仍然能够使用通常的 \label{reference} 来引用定理?

提前谢谢了!

答案1

如果您接受将您的定理重命名为其他名称,则可以用来tcolorboxenvironment改变定理方面并保留以前的标记机制。

\documentclass{article}

\usepackage[skins]{tcolorbox}
\usepackage{amsmath, amsthm}

\theoremstyle{plain}
\newtheorem{theorem}{Theorem}[section]
\newtheorem{proposition}[theorem]{Proposition}
\newtheorem*{proposition*}{Proposition}

\newenvironment{mytheorem}{\begin{theorem}}{\end{theorem}}

\tcolorboxenvironment{mytheorem}{colback=blue!30, colframe=blue!70!black}

\begin{document}

\section{One}

\begin{mytheorem}{One theorem}\label{OneTheorem}
some words
\end{mytheorem}

Reference to theorem~\ref{OneTheorem}

\end{document}

在此处输入图片描述

更新:muzimuzhi 的更简单的解决方案

似乎任何先前存在的环境都可以tcbcolorized,我们不需要像我在原始答案中那样重命名它。

\documentclass{article}

\usepackage[skins]{tcolorbox}
\usepackage{amsmath, amsthm}

\theoremstyle{plain}
\newtheorem{theorem}{Theorem}[section]
\newtheorem{proposition}[theorem]{Proposition}
\newtheorem*{proposition*}{Proposition}

%\newenvironment{mytheorem}{\begin{theorem}}{\end{theorem}}

\tcolorboxenvironment{theorem}{colback=blue!30, colframe=blue!70!black}

\begin{document}

\section{One}

\begin{theorem}{One theorem}\label{OneTheorem}
some words
\end{theorem}

Reference to theorem~\ref{OneTheorem}

\end{document}

在此处输入图片描述

相关内容