tcolorbox 与颜色包不兼容?

tcolorbox 与颜色包不兼容?

我试图将 添加tcolorbox到我的 Xelatex 文档中,但似乎不起作用。我追踪到问题出在color包上,如果禁用该包,则会生成框。但是我需要使用该color包。

我该如何解决这个问题?

这是 MWE

\documentclass{article}
\usepackage{tcolorbox}
\usepackage{lipsum}

% Uncomment the next line to get the error
%\usepackage[usenames,dvipsnames]{color}

\begin{document}

\begin{tcolorbox}[colback=green!5,colframe=green!40!black,title=A nice heading]
\lipsum[2]
\end{tcolorbox}

\end{document}

答案1

xcolor是增强版,color但真正的技巧是简单地加载它第一的

\documentclass{article}
\usepackage[usenames,dvipsnames]{xcolor}
\usepackage{tcolorbox}
\usepackage{lipsum}


\begin{document}

\begin{tcolorbox}[colback=green!5,colframe=green!40!black,title=A nice heading]
\lipsum[2]
\end{tcolorbox}

\end{document}

盒背

答案2

tcolorboxpgf无需选项即可加载。xcolor如果您想要传递一些选项xcolor(完全集成color功能),您可以\usepackage[]{xcolor}在加载之前使用带有特定选项的cfr 解决方案tcolorbox,但您还有另外两个选项。

第一个是使用\PassOptionsToPackage{usenames,dvipsnames}{xcolor}传递选项usenames以及dvipsnames何时xcolor加载。

\PassOptionsToPackage{usenames,dvipsnames}{xcolor}
\documentclass{article}
\usepackage{tcolorbox}
\usepackage{lipsum}

\begin{document}

\begin{tcolorbox}[colback=JungleGreen!5, colframe=JungleGreen!40!black, title=A nice heading]
\lipsum[2]
\end{tcolorbox}

\end{document}

第二个方法是传递这些选项,\documentclass因为根据 LaTeX Companion 第 2 版第 17 页的说法:

所有选项\documentclass(声明的和全局的)都会自动作为类选项传递给所有\usepackage 声明。因此,如果加载了\usepackage 声明的包文件识别(即声明)某些类选项,则可以采取适当的操作。如果没有,则在处理该包时将忽略类选项。

作为一个简单的测试,我在你的示例中将其更改greenJungleGreen(在dvipsnames列表中),并尝试使用

\documentclass[dvipsnames]{article} %<--- usenames is an obsolete option. deleted.
\usepackage{tcolorbox}
\usepackage{lipsum}

\begin{document}

\begin{tcolorbox}[colback=JungleGreen!5, colframe=JungleGreen!40!black, title=A nice heading]
\lipsum[2]
\end{tcolorbox}

\end{document}

它可以正常工作:

在此处输入图片描述

相关内容