我看过这些页面未使用的全局选项:[language=english]和自定义类中未使用的全局选项但我仍然收到未使用的全局选项错误,我并不完全理解为什么。(我没有看到任何其他错误,所以如果这是重复的,请原谅)。这是 MWE(MWE 之后的附加信息):
文件:mypkg.cls
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{mypkg}
\RequirePackage{xkeyval}
% setup class
\def\tcg@cls@name{notes}
\def\tcg@cls@document{article}
\DeclareOption{article}{
\def\tcg@cls@name{article}
\def\tcg@cls@document{amsart}
}
\DeclareOptionX{classname}[notes]{%
\def\tcg@cls@name{#1}
}
% Pass extra options
\DeclareOptionX*{
\PassOptionsToClass{\CurrentOption}{\tcg@cls@document}
}
\DeclareOption*{
\PassOptionsToClass{\CurrentOption}{\tcg@cls@document}
}
\ProcessOptions\relax
\ProcessOptionsX\relax
\LoadClass{\tcg@cls@document}
文件:article.tex
\documentclass[article]{mypkg}
\begin{document}
Nothing
\end{document}
我收到的错误是:
LaTeX Warning: Unused global option(s): [article].
附加信息:基本上,我想做的是创建一个具有多个潜在选项的包。(在 MWE 中,我只有两个选项,但在我的文件中,我至少有 20 个不同的选项。从技术上讲,MWE 不是 MWE,因为如果我删除该X
选项,我会得到同样的错误,但我想指出的是,我做需要X
选择。)问题是我想要全部选项也会传递给我正在加载的类。这样做的原因是我希望用户能够自动使用任何“标准”类选项,但我不想为每个选项声明一个选项并手动传递它。
本质上我需要一些方法来传递仅有的已加载类的一些选项,其中“一些”是指:
- 我还没有处理过这个选项。
- 我确实处理过这个选项,但无论如何我还是想传递下去。
对于上面的第二个选项,我并不担心,因为我知道我可以单独使用\PassOptionsToClass
这些选项,但上面的第一个情况我不知道该怎么做,因为它看起来像是\DeclareOption*
版本X
传递all
选项而不是尚未处理的选项。有办法吗?
或者,我也可以只隐藏错误消息,但我不确定该怎么做。每次我尝试隐藏消息时,都没有任何变化。