kvoptions 聲明本地互補選項

kvoptions 聲明本地互補選項

給定包中的以下聲明,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}

相關內容