有条件地加载包

有条件地加载包

仅当选择某些选项时,是否才可以从.sty 文件加载某些包?

(幼稚的方法\DeclareOption{something}{\RequirePackage{something}}是行不通的。)

答案1

使用\if...开关,我做了类似的事情

\newif\if@loadsomething\@loadsomethingfalse
\DeclareOption{something}{\@loadsomethingtrue}
...
\ProcessOptions\relax

\if@loadsomething
  \RequirePackage{something}
\fi

我自己还没有完全弄清楚“选项”机制是如何工作的,或者为什么你的例子不工作,但我猜这与执行选项的确切时刻以及发生这种情况时 TeX 上下文的状态有关。

相关内容