
給定包中的以下聲明,tst
使用kvoptions
\ProvidesPackage{tst}
...
\DeclareBoolOption{abc}
\DeclareComplementaryOption{cba}{abc}
將兩個選項聲明為本地選項的正確方法是什麼:
\DeclareLocalOptions{abc}
或者
\DeclareLocalOptions{abc,cba}
因為它們都共享相同的內部表示(標誌)?
答案1
中的「本地」\DeclareLocalOptions
確實指的是識別選項的地方,例如\usepackage
。但這種「本地」選項是不是如果指定為全域選項,則可識別\documentclass
。
因此,「local」的含義並不是指選項的實現,\DeclareLocalOptions
如果兩個選項都不應被識別為全域選項,則需要在 中指定兩個選項:
\ProvidesPackage{tst}
...
\DeclareBoolOption{abc}
\DeclareComplementaryOption{cba}{abc}
\DeclareLocalOptions{abc, cba}