![Circledsteps 给出错误“xcolor 选项冲突”](https://linux22.com/image/408941/Circledsteps%20%E7%BB%99%E5%87%BA%E9%94%99%E8%AF%AF%E2%80%9Cxcolor%20%E9%80%89%E9%A1%B9%E5%86%B2%E7%AA%81%E2%80%9D.png)
考虑:
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[table]{xcolor}
\usepackage{menukeys}
\usepackage{circledsteps}
\begin{document}
test
\end{document}
在 TeXLive 2017(Ubuntu 18.04 及其衍生产品中的标准发行版)中将失败
! LaTeX Error: Option clash for package xcolor.
并按下H
错误,我们有:
? H
The package 'xcolor' has already been loaded with options:
[table].
There has now been an attempt to load it with no options.
[...]
发生了什么事?我认为加载没有选项的包(就像加载到 中一样circledsteps.sty
)应该总是可以的 --- 它只会继承已经指定的包。
答案1
如果可以的话,正如 Bernard 在评论中注意到的那样,更新你的发行版 --- 该代码片段在 TeXLive 2019 中没有问题。
否则,问题就在于包menukeys
使用了catoptions
包;该包改变了包加载的行为。
一个可能的解决方法是David Carlisle 在聊天中温和地建议,并由我自己实现(所以所有的责任都在我身上):
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[table]{xcolor}
\usepackage{menukeys}
% ugly and dangerous workaround. Based on https://chat.stackexchange.com/transcript/message/53685426#53685426, all the blame @Rmano
\makeatletter
\@ifpackageloaded{catoptions}{%
\expandafter\let\csname [email protected]\endcsname\relax}{}
\makeatother
\usepackage{circledsteps}
\begin{document}
test
\end{document}