重新定义背景阴影的定理环境

重新定义背景阴影的定理环境

我有一份很长的文档,其中包含许多定理。我想更改样式,使每个定理theorem都有浅灰色背景。我可以定义一个新环境thm,然后将所有内容更改theoremthm。有没有一种(简单的)方法可以重新定义theorem环境,这样我就不必更改所有的theorem


我目前有

\usepackage{xcolor}
\usepackage{framed}
\colorlet{shadecolor}{lightgray!50}  

...

\newtheorem{theorem}{Theorem}[section]

...

\newenvironment{thm}
  {\begin{shaded}\begin{theorem}}
  {\end{theorem}\end{shaded}}

编辑:我按照评论中的建议尝试了 tcolorbox。我遵循

https://tex.stackexchange.com/a/606420/5870

如果我只是添加\usepackage[all]{tcolorbox}而不做任何其他事情,我会收到错误

 ! Undefined control sequence. \ExplSyntaxOn

我在其他地方发现了(无法运行 tcolorbox 的最小示例)解决这个问题的方法是加载

\usepackage{expl3}

在 tcolorbox 之前。如果我只添加这个而不改变其他内容,我会得到

! Undefined control sequence. \NewDocumentCommand

答案1

评论太长了。此示例在 TeXLive 2022 安装上运行良好

\documentclass[a4paper]{article}
\usepackage[
breakable,
]{tcolorbox}
%\usepackage{amsthm}
%\theoremstyle{plain}%
\newtheorem{lem}{Lemma}
\tcolorboxenvironment{lem}{
colframe=cyan,
breakable,before skip=10pt,after skip=10pt }

\begin{document}

\begin{lem}
  sdfadf
\end{lem}

\end{document}

相关内容