使用 tcolorbox,但颜色不是完全正确的颜色

使用 tcolorbox,但颜色不是完全正确的颜色

我正在使用以下代码

\documentclass[oneside]{book}
\usepackage[utf8]{inputenc}
\usepackage{tcolorbox} 
\usepackage{xcolor} 

\newtcolorbox{tbox}[3][]
{
    colframe = #2!25,
    colback  = #2!10,
    coltitle = #2!20!black,  
    title    = {#3},
    #1,
}

\begin{document}
\begin{tbox}{yellow}{contain something}
    The color is around ``contain sometihng" is not yellow 
\end{tbox} 
\end{document}

然而,我注意到了以下问题

在此处输入图片描述

标题的颜色似乎不够黄,是“沙色”。

红色类似。

在此处输入图片描述

再次强调,如果你输入类似“{\color{red} text}”这样的内容,这并不是通常的“红色”。这更像是粉红色或肉色。

有人能建议我如何更改代码以使颜色更真实吗?

答案1

您遇到的问题是,由键 控制的框架颜色colframe设置为#2!25。这#2是第一个“主要”参数,即您在 中设置的颜色\begin{tbox}{<color>}{...。与使用 的包中一样xcolor,例如tcolorbox,感叹号表示颜色混合。因此,如果您有,这是%和 剩余% 的<color A>!<percentage>!<color B>混合。例如是 25% 红色,剩余 75% 蓝色。如果没有指定第二种颜色,则第二种颜色将被视为白色。也就是说,例如 与相同,即您看到的“沙红色”,黄色也是如此。因此,为了在框架中获得“完整”的黄色和红色,您需要删除。<percentage><color A>100-<percentage><color B>red!25!bluered!25red!25!white!25

\documentclass[oneside]{book} 
\usepackage[utf8]{inputenc} 
\usepackage{tcolorbox} 
\newtcolorbox{tbox}[3][]{%
colframe=#2,colback=#2!10,coltitle=#2!20!black,title={#3},#1}
\begin{document} 
\begin{tbox}{yellow}{contain something} 
The color of the frame is a yellow yellow. 
\end{tbox} 
\begin{tbox}{red}{contain something} 
The color of the frame is a red red. 
\end{tbox} 
\end{document} 

在此处输入图片描述

更多详细信息请参阅手册xcolortexdoc xcolor)。顺便说一句,tcolorbox加载xcolor,因此您无需单独加载它。

相关内容