如何定义以颜色作为参数的自定义 tcolorbox 环境?

如何定义以颜色作为参数的自定义 tcolorbox 环境?

我想使用不同颜色的 tcolorboxes。有没有一种简单的方法可以避免使用\newcommand宏为每个框输入所有信息?

\begin{tcolorbox}[
colframe=blue!25,
colback=blue!10,
coltitle=blue!20!black,  
title= More Test]
\begin{enumerate}
\item Test
\end{enumerate}
\end{tcolorbox}

答案1

tcolorbox包提供了一个名为的宏\newtcolorbox来定义自定义环境;请参阅手册中的第 2 节(当前版本中第 12 页顶部)。假设您只想更改颜色,而不是色调/阴影,您可以定义一个接受三个参数的新环境(其中第一个是可选的):

  1. 其他tcolorbox选项
  2. 盒子颜色
  3. 标题

见下文。

在此处输入图片描述

\documentclass{article}

\usepackage{tcolorbox} 

% new tcolorbox environment
% #1: tcolorbox options
% #2: color
% #3: box title
\newtcolorbox{mybox}[3][]
{
  colframe = #2!25,
  colback  = #2!10,
  coltitle = #2!20!black,  
  title    = {#3},
  #1,
}

\begin{document}

\begin{mybox}{red}{A red box}
\begin{enumerate}
\item Test
\end{enumerate}
\end{mybox}

\begin{mybox}{green}{A green box}
\begin{enumerate}
\item Test
\end{enumerate}
\end{mybox}

\end{document}

相关内容