如何在 shadethm 包中使用多种颜色?

如何在 shadethm 包中使用多种颜色?

我知道我们可以使用包中提供的默认颜色shadethm,例如\definecolor{shadethmcolor}{HTML}{F7F8E0}。但如果我想以上述方式为不同的环境使用不同的颜色,我该怎么办?例如,假设我有:

\newshadetheorem{env1}
\newshadetheorem{env2}
\definecolor{shadethmcolor}{HTML}{F7F8E0}

并且我只希望在第一个环境中使用这种颜色,在另一种环境中使用第二种颜色。

答案1

有一种可能性是:

\documentclass{article} 
\usepackage{xcolor}
\usepackage{xparse}
\usepackage{shadethm}

\newshadetheorem{env1}{Theorem}
\newshadetheorem{env2}{Lemma}
\newshadetheorem{env3}{Proposition}

\NewDocumentEnvironment{lemma}{o}
  {\definecolor{shadethmcolor}{RGB}{244,156,124}%
    \IfNoValueTF{#1}
      {\begin{env2}}
      {\begin{env2}[#1]}
  }
  {\end{env2}}
\NewDocumentEnvironment{proposition}{o}
  {\definecolor{shadethmcolor}{HTML}{F7F8E0}%
    \IfNoValueTF{#1}
      {\begin{env3}}
      {\begin{env3}[#1]}
  }
  {\end{env3}}

\begin{document}

\begin{env1}
A test shaded theorem
\end{env1}

\begin{lemma}
A test shaded theorem
\end{lemma}

\begin{proposition}
A test shaded theorem
\end{proposition}

\end{document}

结果:

在此处输入图片描述

不过,我想建议你使用一种更通用的方法thmtoolstcolorboxthmtools。下面是使用交互的示例shadethm

\documentclass{article} 
\usepackage[dvipsnames]{xcolor}
\usepackage{amsthm}
\usepackage{thmtools}

\definecolor{mycolor}{HTML}{F7F8E0}

\declaretheorem[shaded={bgcolor=Lavender}]{theorem}
\declaretheorem[shaded={bgcolor=mycolor}]{proposition}
\declaretheorem[shaded={bgcolor=green!80!black!30}]{lemma}

\begin{document}

\begin{theorem}
A test shaded theorem
\end{theorem}

\begin{lemma}
A test shaded theorem
\end{lemma}

\begin{proposition}
A test shaded theorem
\end{proposition}

\end{document}

在此处输入图片描述

相关内容