我已经看到我不能两次要求一个包。我怎样才能有一个选项来激活颜色名称的可用性
\RequirePackage[dvipsnames*,svgnames,x11names]{xcolor}
但是如果缺少该选项,样式文件将使用它
\RequirePackage{xcolor}
答案1
有很多方法。使用经典选项或选择您选择的键值接口。以下是expl3
:
\NeedsTeXFormat{LaTeX2e}[2022-06-01]
\ProvidesPackage{veak}[veak v0.1]
\ExplSyntaxOn
\keys_define:nn { veak }
{
colour ~ names .bool_set:N = \l_veak_colour_names_bool,
colour ~ names .default:n = true,
colour ~ names .initial:n = false,
}
\ProcessKeyOptions { veak }
\bool_if:NTF \l_veak_colour_names_bool
{
\RequirePackage[svgnames,x11names,dvipsnames]{xcolor}
}{
\RequirePackage{xcolor}
}
\ExplSyntaxOff
\endinput
答案2
一种方法是条件性地调用命令
\PassOptionsToPackage{dvipsnames*,svgnames,x11names}{xcolor}
在加载包之前。它还允许您组合多个选项,从而将不同的选项添加到xcolor
。此技术对于修复.cls
文件内的选项冲突也很有用。