![如何定义以颜色作为参数的自定义 tcolorbox 环境?](https://linux22.com/image/288761/%E5%A6%82%E4%BD%95%E5%AE%9A%E4%B9%89%E4%BB%A5%E9%A2%9C%E8%89%B2%E4%BD%9C%E4%B8%BA%E5%8F%82%E6%95%B0%E7%9A%84%E8%87%AA%E5%AE%9A%E4%B9%89%20tcolorbox%20%E7%8E%AF%E5%A2%83%EF%BC%9F.png)
我想使用不同颜色的 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 页顶部)。假设您只想更改颜色,而不是色调/阴影,您可以定义一个接受三个参数的新环境(其中第一个是可选的):
- 其他
tcolorbox
选项 - 盒子颜色
- 标题
见下文。
\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}