\usepackage{amsmath}
\usepackage{array}
\usepackage{booktabs}
\usepackage[draft]{pgf}
\usepackage{listings}
\usepackage[usenames,dvipsnames]{xcolor}
我想使用一种名为“Bittersweet”的颜色,但出现此错误
答案1
包listings
不会加载xcolor
,但包pgf
会加载。在 LaTeX 中,你可以多次加载一个包,但每次加载包的选项列表必须是第一次加载时给出的选项的子集(包是例外fontenc
)。
首次加载包时的所有选项
如果第一个包加载包含所有选项,则问题已解决:
\usepackage[usenames,dvipsnames]{xcolor}
\usepackage[draft]{pgf}
\usepackage{listings}
\PassOptionsToPackage
但是有时包可能已加载到文档类中,或者包顺序中存在阻止对包进行重新排序的限制。 then\PassOptionsToPackage
会有所帮助。它甚至可以在之前加载\documentclass
。它无需加载包即可为包提供指定的选项:
\PassOptionsToPackage{usenames,dvipsnames}{xcolor}
...
\usepackage[draft]{pgf}
% pgf can now load the package xcolor and loads it with
% options "usenames,dvipsnames".
\usepackage{listings}
\usepackage{xcolor}
% or \usepackage[usenames,dvipsnames]{xcolor}
全局选项
h
顺便说一句,选项冲突的错误消息(在交互式提示时按下或检查文件)的帮助文本.log
显示了第一次加载包时需要指定的选项。
See the LaTeX manual or LaTeX Companion for explanation. Type H <return> for immediate help. ... l.5 \begin {document} The package xcolor has already been loaded with options: [] There has now been an attempt to load it with options [usenames,dvipsnames] Adding the global options: ,usenames,dvipsnames to your \documentclass declaration may fix this. Try typing <return> to proceed.
也可以将选项添加到全局选项中,但在我看来这不是最好的策略,因为其他不相关的包也可以看到该选项。未知的全局选项会被包忽略,但已知的选项会被执行,并产生意想不到的副作用。